Collection : 가장 상위 인터페이스
Set : 중복을 허용하지 않는집합을 처리하기 위한 인터페이스.
SortedList : 오름차순을 갖는 Set 인터페이스
List : 순서가 있는 집합을 처리하기 위한 인터페이스이기 때문에 index가 있어 위치를 지정하여 값을 찾을 수 있다.
중복을 허용하며, List 인터페이스를 상속받는 클래스 중에서 가장 많이 사용하는 것으로 Vector가 있다.
Queue : 여러개의 객체를 처리하기 전에 담아서 처리할 때 사용하기 위한 인터페이스. 기본적으로 FIFO를 따른다.
Map : Map은 키와 값의 쌍으로 구성된 객체의 집합을 처리하기 위한 인터페이스이다. 이 객체는 중복되는 키를 허용하지 않는다.
SortedList : 키를 오름차순으로 정렬하는 Map 인터페이스이다.
HashSet : 데이터를 해쉬 테이블에 담는 클래스로 순서없이 저장된다.
TreeSet : red-black 이라는 트리에 데이터를 담는다. 값에 따라서 순서가 정해진다.
HashSet보다 성능상 느리다. 데이터를 담으면서 동시에 정렬할 때 유용하다.
LinkedHashSet : 해쉬 테이블에 데이터를 담는데, 저장된 순서에 따라서 순서가 결정된다.
Vector : 객체 생성시 크기를 지정할 필요가 없는 배열 클래스
ArrayList : Vector와 비슷하지만, 동기화 처리가 되어 있지 않음.
LinkedList : ArrayList와 동일하지만, Queue 인터페이스를 구현했기 때문에 FIFO 큐 작업을 수행한다.
HashTable : 데이터를 해쉬 테이블에 담는 클래스. 내부에서 관리하는 해쉬 테이블 객체가 동기화되어 있으므로, 동기화가 필요한 부분에서는 이 클래스를 사용하는 것을 권장.
HashMap : HashTable과 마찬가지로 데이터를 해쉬 테이블에 담는 클래스로, HashTable과 다른 점은 null 값을 허용한다는 것과 동기화되어 있지 않다는 것이 다르다.
TreeMap : red-black 트리에 데이터를 담는다. TreeSet과 다른 점은 키에 의해서 순서다 정해진다는 점이다.
LinkedHashMap : HashMap과 거의 동일하며 이중 연결 리스트(doubly-linked list)라는 방식을 사용하여 데이터를 담는다는 점이 다르다.
# red-black tree : 이진 트리 구조로 데이터를 담는 구조. 성능이 좋지 않은 트리 구조이므로 되도록이면 사용하지 않을 것을 권장. 가장 상위노드, 가장 말단 노드는 검은 색, 붉은 노드는 검은 하위만을 가진다. 모든 말단 노드로 이동하는 경로의 검은 노드수는 동일하다.
출처 : Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기
'JAVA' 카테고리의 다른 글
2013년 7월 5일 강의내용(Oracle JDBC연동) (0) | 2013.07.22 |
---|---|
Object Class(equals, toString) (0) | 2013.07.22 |
2013년 7월 3일 강의내용(생성자, Wrapper Class, Vector & ArrayList). (0) | 2013.07.22 |
SimpleDateFormat 클래스를 이용하여 날짜와 시간 포맷하기 (0) | 2013.07.22 |
문자열(String) 처리 종합 예제 (0) | 2013.07.22 |