반응형
Comparator 과 Comparable
Backend/java2018. 8. 15. 18:29Comparator 과 Comparable

Comparator 과 Comparable 1. 객체를 정렬하는데 필요한 메서드를 정의한 인터페이스이다. 2. 이 들에 정의된 compare() , compareTo()를 구현함으로써 정렬이 필요한 경우 예를 들면 TreeSet이나 sort()를 사용할 때 정렬기준을 제시하게 된다. 3. Compare() 과 CompareTo()는 이름과 매개변수의 수만 다를 뿐 , 두 객체를 비교해서 같으면 0을 작으면 음수 , 크면 양수를 반환한다는 것은 같다. 그리고 이 반환값을 통해서 두 객체의 정렬순서가 결정이 된다. Equals메서드는 모든 클래스가 가지고 있지만 , Comparator를 구현하는 클래스는 equals메서드의 오버라이딩이 필요할 수도 있다는 것을 알리기 위해 정의한 것일 뿐 대부분의 경우 Co..

TreeSet이란 무엇인가
Backend/java2018. 8. 15. 18:00TreeSet이란 무엇인가

TreeSet – 검색과 정렬에 유리 1. Set인터페이스를 구현한 컬렉션 클래스 ( 중복허용 x , 순서유지 x , 정렬저장 o ) 2. 이진검색트리의 구조로 되어있다. 3. 링크드리스트와 같이 각 요소(Node)가 나무형태로 연결된 구조 4. 모든 트리는 하나의 루트(root node)를 가지며 , 서로 연결된 두 요소를 “부모-자식관계”에 있다 하고 , 하나의 부모에 최대 두 개의 자식을 갖는다. 5. 왼쪽 자식의 값은 부모의 값보다 작은 값을 , 오른쪽 자식의 값은 부모보다 큰 값을 저장한다. 6. 검색과 정렬에 유리하지만 , HashSet보다 데이터 추가 , 삭제시간이 더 걸린다. * TreeSet의 메서드 종류 * TreeSet – 데이터 저장과정 1. 만일 TreeSet에 7,4,9,1,5의..

HashSet이란 무엇인가.
Backend/java2018. 8. 15. 17:57HashSet이란 무엇인가.

HashSet – 중복허용 x , 순서유지 x 1. Set인터페이스를 구현한 대표적인 컬렉션 클래스 ( 중복허용 x , 순서유지 x ) 2. 순서를 유지하고자 한다면 , LinkedHashSet클래스를 사용해야 한다. 3. HashSet에 객체를 저장할 때 Boolean add(Object o)를 사용하며 , 기존에 저장된 객체와 중복된 객체를 저장하면 false를 반환한다. 4. Boolean add(Object o)는 저장할 객체의 equals()와 hashCode()를 호출하므로 저장할 객체의 equals()와 hashCode()가 적절히 오버라이딩되어 있어야 한다. 그렇지 않으면 중복된 객체를 중복된 것으로 간주하지 않을 수 있다. 5. 동일 객체에 대해 hashCode()를 여러 번 호출해도 동..

스택 ( Stack ) 과 큐 ( Queue )
Backend/java2018. 8. 15. 17:41스택 ( Stack ) 과 큐 ( Queue )

스택과 큐 ( Stack & Queue ) 1. 스택 (Stack ) : LIFO구조 . 마지막에 저장된 것을 제일 먼저 꺼내게 된다. Ex : 수식계산 , 수식괄호검사 , undo/redo , 뒤로/앞으로 (웹브라우져) 2. 큐 ( Queue ) : FIFO구조 . 제일 먼저 저장한 것을 제일 먼저 꺼내게 된다 . Ex : 최근 사용문서 , 인쇄작업대기목록 , 버퍼 (buffer)

ArrayList 와 LinkedList 어떤 것을 써야할까.
Backend/java2018. 8. 15. 17:36ArrayList 와 LinkedList 어떤 것을 써야할까.

ArrayList VS LinkedList 1. 순차적으로 데이터를 추가 or 삭제하는 경우 , ArrayList가 빠르다. 2. 비순차적으로 데이터를 추가 or 삭제하는 경우 , LinkedList가 빠르다. ArrayList와 LinkedList의 접근도 3. 접근시간(access time)은 ArrayList가 빠르다. * ArrayList VS LinkedList 비교 * 도표로 나타내 보면 다음과 같다. 컬렉션 읽기(접근 시간) 추가/ 삭제 비고 ArrayList 빠르다 느리다 순차적인 추가삭제는 빠르다.비효율적인 메모리 사용 LinkedList 느리다 빠르다 데이터가 많을 수록 접근성이 떨어짐

LinkedList – 이중 원형 링크드 리스트
Backend/java2018. 8. 15. 17:28LinkedList – 이중 원형 링크드 리스트

LinkedList – 이중 원형 링크드 리스트 1. 링크드 리스트 ( Linked list ) : 연결리스트 , 데이터 접근성이 나쁨 2. 더블리 링크드 리스트 ( doubly linked list ) : 이중 연결리스트 , 접근성 향상 3. 더블리 써큘러 링크드 리스트 (doubly circular linked list) : 이중 원형 연결리스트

반응형
image