티스토리 뷰

Programming/.java

[Java]Collections Class

가그린민트 2017. 8. 26. 16:59

Collection 인터페이스 구성


인터페이스 Hash Table Resizable Array Balanced Tree Linked List List+Hash

Set

HashSet

TreeSet

LinkedHashSet

List

ArrayList

LinkedList

Deque

ArrayDeque

LinkedList

Map

HashMap

TreeMap

LinkedHashMap




일반적으로 사용되는 클래스

- 데이터 읽기/쓰기 등 평균 응답시간이 가장 좋다
- 필요한 목적에 부합하는 클래스를 선택해서 사용하는 것이 바람직하다. 
(TreeSet은 느리지만, 데이터를 저장하면서 정렬하기때문에 순서에 따라 탐색할때 유용하다)

페이스

클래스

Set

HashSet

List

ArrayList

Map

HashMap

Queue

LinkedList


ArrayList

* 배열을 대체할 수 있는 콜렉션 객체
* 동적으로 크기가 확장된다.
* 인덱스를 활용 가능

HashMap

* key와 value 쌍을 저장
* key를 이용해서 value를 검색
* key는 중복될 수 없음

Set

* 값을 저장
* 값이 중복되지 않음
* Iterator 사용 가능


Collection 관련 클래스의 동기화

HashSet, TreeSet, LinkedHashSet, ArrayList, LinkedList, HashMap, TreeMap, LinkedHashMap은 동기화(synchronzied)되지 않는 클래스이다.

(Vector, Hashtable은 동기화되어 있는 클래스)

Collections 클래스에서 지원하는 synchronized로 시작하는 메서드들을 사용하면 동기화가 가능하다

Set s = Collections.synchronizedSet(new HashSet(...));

List list = Collections.synchronizedList(new ArrayList(...));
List list = Collections.synchronizedList(new LinkedList(...));

Map m = Collections.synchronizedMap(new HashMap(...));





댓글
링크
최근에 달린 댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Total
Today
Yesterday