1. Collection 인터페이스는 객체의 그룹으로, 중복을 허용한다.
2. Set 인터페이스는 Collection 객체를 상속했고, 저장되는 값의 중복이 불가능하다.
1) HashSet 동기화 X 가장 빠른 집합, HashMap보다 느림
2) TreeSet 동기화 X HashSet 보다 느림, 키가 정렬됨
3. List 인터페이스는 Collection 객체를 상속했고, 저장되는 값의 중복이 가능 하고, 저장된 Index 번호를 통한 접근이 가능하다.
1) ArrayList 동기화 X 가장빠름, null 허용
2) LinkedList 동기화 X 느림
3) Vector 동기화 O ArrayList 보다 느림
4) Stack 동기화 O Vector와 동일한 속도, LIFO 가능
4. Map 인터페이스는 Set 또는 Collection 어느것도 상속하지 않는 독불장군(?) 이다.
1) HashMap 동기화 X 가장 빠름, null 값 허용
2) Hashtable 동기화 O HashMap보다 느림, 동기화, null 값 허용안함
3) TreeMap 동기화 X Hashtable과 HashMap보다 느림, 키가 정렬됨
5. 선택의 기준
1) 중복 허용 여부
2) 동기화 지원 여부 : Multithreaded 환경
3) 검색 속도
에서의 선택 - ArrayList ? Vector ?
ArrayList 와 Vector 의 차이점은 동기화를 지원하느냐의 여부다. 동기화가 필요한 곳에는 Vector를 사용하면 되고, 대부분의 경우는 ArrayList를 사용하면 된다. 사용자가 동기화 처리한 ArrayList 보다는 Vector 가 빠르다.
Map 에서의 선택 - HashMap ? Hashtable ?
HashMap 과 Hashtable 도 ArrayList 와 Vector와 유사하다. 동기화가 필요한 곳에는 Hashtable 을 사용하고, 대부분의 경우는 HashMap을 사용하면 된다. 사용자가 동기화 처리한 HashMap 보다는 Hashtable이 빠르다.
2. Set 인터페이스는 Collection 객체를 상속했고, 저장되는 값의 중복이 불가능하다.
1) HashSet 동기화 X 가장 빠른 집합, HashMap보다 느림
2) TreeSet 동기화 X HashSet 보다 느림, 키가 정렬됨
3. List 인터페이스는 Collection 객체를 상속했고, 저장되는 값의 중복이 가능 하고, 저장된 Index 번호를 통한 접근이 가능하다.
1) ArrayList 동기화 X 가장빠름, null 허용
2) LinkedList 동기화 X 느림
3) Vector 동기화 O ArrayList 보다 느림
4) Stack 동기화 O Vector와 동일한 속도, LIFO 가능
4. Map 인터페이스는 Set 또는 Collection 어느것도 상속하지 않는 독불장군(?) 이다.
1) HashMap 동기화 X 가장 빠름, null 값 허용
2) Hashtable 동기화 O HashMap보다 느림, 동기화, null 값 허용안함
3) TreeMap 동기화 X Hashtable과 HashMap보다 느림, 키가 정렬됨
5. 선택의 기준
1) 중복 허용 여부
2) 동기화 지원 여부 : Multithreaded 환경
3) 검색 속도
에서의 선택 - ArrayList ? Vector ?
ArrayList 와 Vector 의 차이점은 동기화를 지원하느냐의 여부다. 동기화가 필요한 곳에는 Vector를 사용하면 되고, 대부분의 경우는 ArrayList를 사용하면 된다. 사용자가 동기화 처리한 ArrayList 보다는 Vector 가 빠르다.
Map 에서의 선택 - HashMap ? Hashtable ?
HashMap 과 Hashtable 도 ArrayList 와 Vector와 유사하다. 동기화가 필요한 곳에는 Hashtable 을 사용하고, 대부분의 경우는 HashMap을 사용하면 된다. 사용자가 동기화 처리한 HashMap 보다는 Hashtable이 빠르다.
댓글
댓글 쓰기