컬렉션

C/Java : 2007. 11. 6. 15:36

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에 의해 반환된 마지막 요소를 제거한다.

Posted by 청웨일