인터페이스 |
클래스 |
동기화 |
성능속성 |
Set |
HashSet |
No |
가장빠른 Set이다 Hashmap보다는 느리지만 Set인터페이스를 구현하고 있다는 특징이 있다 (HashMap)은 set인터페이스를 구현하지 않는다. |
Set |
LinkedHashSet |
No |
1.4버전부터 제공, LinkedHashMap에 근간해서 작성되었으므로 삽입순서에 따라 배열요소에 접근한다. TreeSet보다 빠르다. |
Set |
TreeSet |
No |
HashSet보다 느리다. 키 순서에 따른 접근이 가능하다. |
Map |
IdentityHashMap |
No |
1.4버전부터 제공하낟. 동일성(identity)에 근간한 특별한 목적의 HashMap(==) 동등(.equals메소드) 대신의 개념이다. 동일성개념을 사용할수 있는 경우 HashMap보다 더 빠른 고성능 대응을 제공한다. |
Map |
HashTable |
Yes |
HashMap보다는 느리다 하지만 동기화된 HashMap보다는 빠르다. |
Map |
LinkedHashMap |
No |
1.4버전부터 제공한다. 엔트리 순서에 있는 링크된 리스트를 유지하는 해시맵을 구현한다. 엔트리 순서에 따른 키 접근이 가능하다. TreeMap보다는 빠르지만 다른 종류의 Map클래스보다는 느리다. |
Map |
TreeMap |
No |
HashTable과 HashMap보다 느리다. 키를 순서대로 접근할 수 있다. |
List |
ArrayList |
No |
가장 빠른 리스트이다. 그러나 배열보다 느리다. |
List |
Vector |
Yes |
ArrayList보다 느리지만 동기화된 ArrayList보다는 빠르다. |
List |
Stack |
Yes |
Vector와 동일한 속도를 제공하나 LIFO 큐 기능을 제공한다. |
List |
LinkedList |
No |
다른 List 클래스들보다 느리다. 그러나 몇 가지 형태의 큐에 있어서는 다른 클래스보다 더 빠르다. |
[출처] [펌] 자바 컬렉션 객체 비교표|작성자 헤르메스