Java Collection Framework (2)
Class Hierarchy
Collection Classes
class ArrayList
- Obejct reference들을 원소로 갖는 동적 배열
- AbstractList 클래스 활장, List 인터페이스 구현
- 동적 배열 = Resizalbe-array
- 원소가 추가될 때 마다 배열의 크기가 증가
- 원소가 삭제되면 배열의 크기도 축소
class LinkedList
- 이중 연결 리스트를 이용하여 원소들을 연결
- AbstractSequentialList 클래스 확장
- List, Deque 그리고 Queue 인터페이스 확장
ArrayList vs LinkedList의 비교
class HashSet
- 해싱을 이용하여 Set의 원소들을 저장
- AbstractSet 클래스 확장
- Set 인터페이스 구현
LinkedHashSet class
- 해시 테이블과 연결 리스트를 결합
- 원소들이 입력된 순서를 연결 리스트로 구현
-> toString()에서 출력되는 순서
-> 앞의 예 : [Beta, Alpha, Eta, Gamma, Epsilon, Omega]
-> HashSet을 확장
class TreeSet
- Red-black 트리를 이용하여 오름차순으로 원소 저장
- AbstractSet 클래스 확장
- NavigableSet 인터페이스 구현
Set을 이용한 집합 연산
class PriorityQueue
- Comparator를 기준으로 순서가 결정되는 큐(Min heap or Max heap)
- AbstractQueue 클래스 확장
- Queue 인터페이스 구현
class ArrayDeque
- 동적 배열을 이용하여 Deque를 구현
- AbstractCollection 클래스 구현
- Deque 인터페이스 구현