1) List 인터페이스
- java.util.List
List 클래스 : 설명 |
ArrayList 요소들을 인덱싱된 컬렉션으로 표현하는 배열과 유사한 개념이다. 배열리스트가 미리 결정된 크기를 갖지 않고 필요한 만큼 증대할 수 있다. |
Vector ArrayList와 거의 동일하다. 다중 스레드 애플리케이션에서 안전하다. |
LinkedList 연결리스트의 기능을 구현한다. 리스트의 시작 또는 끝에 추가, 삭제 큐 자료구조에서 설명한 기능성을 허용한다. |
Stack 스택 자료구조의 기능성을 실현하기 위해 Vector를 변경한 것이다. |
2) Set 인터페이스
- 유일한 요소들의 컬렉션
- 수학적으로 설정한 추상화 모델
HashSet |
TreeSet |
해시테이블에 의해 제공되는 세트 해시에 의해 설정된 자료는 명령받지 않는다. 세트로부터 검색된 요소의 NULL값과 순서를 포함하고 있지만 반드시 일관성이 있다고 보장할 수 없다. |
트리에 의해 제공되는 세트 TreeSet에 있는 데이터는 명령받는다. TreeSet로부터 검색된 요소들의 순서는 오름차순이 되도록 보장받는다. |
3) Map 인터페이스
- Map은 키와 값으로 된 객체이고 모든 키는 유일하다.
- Map으로부터 키는 Set인터페이스를 구축하는 클래스로서 얻어질 수 있다.
HashMap |
TreeMap |
해시테이블에 키의 컬렉션을 유지한다. 키는 특별한 순서가 없고, 시간동안 일관성이 없다. |
트리 내에 키 컬렉션을 유지한다. 키의 순서는 오름차순이다. |
4) Iterators 인터페이스
- 컬렉션을 탐색하기 위해 사용되는 인터페이스
- 각각의 컬렉션 클래스는 Iterator 클래스의 인스턴스를 반환하는 iterator() 메소드를 호출한다.
- 각 컬렉션 클래스가 데이터에 접근하기 위한 독점적인 메커니즘을 제공하더라도 각각 iterator를 지원한다. 이는 한개의 일관된 메커니즘에 어떠한 컬렉션 클래스를 사용하는 것도 가능하게 한다.
// hashNext() : 만약 컬렉션에 더 많은 요소가 있으면 true를 반환
// next() : 컬렉션 내에 있는 다음 요소를 반환하는 메소드
// remove() : iterator에 의해 반환된 마지막 요소를 제거한다.