Programming/Java2013. 10. 26. 19:10

Collection

동기화= 다중 스레드에서 데이터 처리를 보장

동기화되어 있는 클래스는 Vector와 Hashtable 밖에 없지만 다음과 같이해서 동기화 처리가 된다.

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


블로킹 큐= 크기가 정해져있는 큐에 공간이 더이상 없을때, 공간이 생길때까지 대기

Set

속도: TreeSet < HashSet < LinkedHashSet (많이 차이 없음)

List

속도: ArrayList < LinkedList  < Vector (별 차이 없지만 LinkedList에서 값을 가져올때 poll대신 get을 사용하면 많이 느려진다.)

Map

속도: TreeMap >> HashMap > HashTable > LinkedHashMap (TreeMap 이 좀 느리고 나머지는 비슷)


사실 모두 속도가 비슷해서 어떤걸 사용해도 별 상관없다 하지만 안정적인걸 봤을때 Sun이 선정한 인터페이스별 클래스는 다음과 같다.

Set -> HashSet

List -> ArrayList

Map -> HashMap

Queue -> LinkedList

Posted by Brian B. Lee