일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- Thymeleaf
- AOP
- Spring Boot
- 백준
- JPQL
- Servlet
- db
- 스프링
- JDBC
- 자바
- 스프링 핵심 기능
- Proxy
- pointcut
- SpringBoot
- Greedy
- 알고리즘
- QueryDSL
- transaction
- 김영한
- Android
- 인프런
- http
- springdatajpa
- kotlin
- Exception
- 스프링 핵심 원리
- jpa
- spring
- 그리디
- Today
- Total
목록Java/자료구조 (19)
개발자되기 프로젝트
1. Generic 자료형 정의 클래스에서 사용하는 변수의 자료형이 여러 개 일수 있음. 해당 기능의 자료형을 특정하지 않고 해당 클래스를 사용할 때 지정하도록 선언. 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므오 안정적인 방식 자료형 매개변수 T(type Paramter) 이 클래스를 사용하는 시점에, 사용할 자료형을 지정, static 변수 사용 불가. E : element, K : key, V : value 2. 다이아몬드 연산자 : 다이아몬드 연산자 ArrayList list = new ArrayList() 다이아몬드 연산자에 자료형 생략 가능. JAVA 10이후로 Generic에서 자료형 추론함. 3. Generic 사용 여러 종류의 material을 받는 printer가 있다고 하자..
1. Queue 특징 민 앞에서 자료 꺼내거나 삭제, 맨 뒤에서 자료 추가함 First In First Out jdk: ArrayList 2. 연결 리스트 사용 Queue구현 2.1 QueueInterface 연결 리스트로 구현 이유 Arrary로 구현하는 경우, Queue에서 data를 꺼내면 모든 data를 옮겨줘야 한다. Linked List로 구현하면 연결만 변경해 주면 된다. 훨씬 간단함. public interface MyQueue { void enQueue(String data); String deQueue(); void printQueue(); } 2.2 MyQueue public class MyLinkedQueue extends MyLinkedList implements MyQueue {..
1. Stack 특징 Last In Last Out 가장 최근의 자료를 찾아오거난 게임에서 히스토리 유지하면서 무를 때 ㅋㅋㅋ 함수의 메모리는 호출 순서에 따른! Stack 구조 jdk : Stack 2. Stack 구현 이미 Array를 구현했으니, 구현한 Array를 활용하자. top은 size를 의미하며 마지막 index + 1 과 같다. pop : top에 있는 data를 꺼내고 array에서 삭제 peek : top에 있는 data 조회. public class MyArrayStack { MyArray arrayStack; int top; public MyArrayStack() { top = 0; arrayStack = new MyArray(); } public MyArrayStack(int s..
1. LinkedList 특징 동일한 데이터 타입을 순서에 따라 관리 노드에는 자료와 다음 요소를 가르키는 링크가 있음. 자료가 추가될 때 노드 만큼의 메로리 할받 받고이전 노드의 링크로 연결. 연결 리스트의 i번 째 요소를 찾는데 필요한 시간은 요소의 수에 비례 O(n) jdk : LinkedList 2. LinkedList 구현 2.1 Node Data와 다음 노드에 대한 정보(참조)를 가지고 있음. public class MyListNode { private String data; private MyListNode next; public MyListNode() { data = null; next = null; } public MyListNode(String data){ this.data = data..
1. Array 특징 동일한 데이터 타입을 순서에 따라 관리 정해진 크기 있음 요소 추가, 제거시 다른 요소의 이동 필요 배열의 i번 째 요소를 찾는 인덱스 연ㅅ나 빠름 jdk : ArrayList, Vector 2. Array 구현 package arrayList; public class MyArray { int[] intArr; int count; public int ARRAY_SIZE; public static final int ERROR_NUM = -99999999; public static final int OK = 200; public MyArray() { count = 0; ARRAY_SIZE = 10; intArr = new int[ARRAY_SIZE]; } public MyArray(in..
1. Tree 부모 노드와 자식 조드간의 연결로 이루어진 자료 구조 Heap: Priority Queue를 구현 complete binary tree : tree채워질 때 왼쪽부터 채워짐. Max heap: 부모 노드는 자식 노드보다 항상 크거나 같은 값을 갖는 경우 Min heap: 부모 노드는 자식 노드보다 항상 작거나 같은 값을 갖는 경우 heap 정렬에 사용할 수 있음. Binary Tree: 부모노드에 자식 노드가 2개 이하인 트리 Binary Search Tree key의 중복을 허용하지 않음 왼쪽 자식 노드는 부모보다 작은 값, 오른 쪽 자식 노드는 부모 노드보다 큰 값 자료 검색에 걸리는 시간 log2(n)ㄷ inorder traversal 탐색을 하게 되면 자료가 정렬되어 출력됨. jdk..
1. 자료구조란? 메모리 상에서데이터를 관리하는 방버 ㅂ 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨. 프로그램에 최적인 자료구조를 사용해야함. 2. 자료구조의 종류 한 줄로 자료를 관리 : 선형 자료구조 배열(Array) : 자료를 선형으로 관리, 물리적 위치와 논리적 위치가 같음. 따라서 특정 위치에 자료 꺼내는 속도 빠름. 연결 리스트(LinkedList) : 자료가 추가될 때 마다 메모리 할당 받음. 자료는 링크로 연결됨. 따라서 물리적 위치와 논리적 위치가 다를 수 있음. 자료 뿐만 아니라 다음 자료에 대한 정보도 가지고 있음. 중간에 데이터 추가하거나 삭제하는 경우 Array보다 수행속도 빠름. Stack : Last In First Out Stack Memory : 함수의 호출과 관계..
1. Map Map은 key & value를 mapping할수 있도록 하는 interface이다. Type parameters: – the type of keys maintained by this map – the type of mapped values public interface Map { Map에서 제공하는 method는 여러 개가 있다. 기타 다른 method는 공식문서 참고. int size() map의 size return boolean isEmpty() map이 empty면 true반환 boolean containsKey(Object key) map이 해당 key를 가지고 있으면 true 반환 boolean containsValue(Object value) map이 해당 value를 가지고 ..