2013년 9월 24일 화요일

[Team L.A.D] 재학생 Study 02 - Collection 의 이해 - Map0

이제 Map 에 관해서 알아보자.

Map 클래스를 상속받는 아이들은 총 4가지가 있다.


HashTable

- 데이터가 해시테이블에 동기화되어있는 클래스 이다. 동기화가 필요한 부분에서

   사용하기에 용이하다.

HashMap

- HashTable 이랑 거의 비슷하나 , 다른 점은 동기화 되어있지 않으며 , NULL 값을

   허용한다.

TreeMap

 - red-black 트리에 데이터를 담는다. TreeSet 과 다른점은 Value 가 아닌 Key 에 의해서

   순서가 정해진다.

LinkedHashMap

 - HashMap 과 거의 동일하며 , 이중 연결 리스트를 이용하여 데이터를 담는다는

   사실만 다르다.

그럼 이 4가지 맵 중에 누가 빠른가?

hashMap : TotalUsedTime :24 ms
hashTable : TotalUsedTime :21 ms
treeMap : TotalUsedTime :29 ms
linkedMap : TotalUsedTime :26 ms

솔직히...ㅋㅋ 거의 비슷비슷 하다.. 큰 차이가 없다..

역시 TreeMap 이 느리긴 하나..

key 값으로 찾는다는 점이 있고

다른 모든 것은 해시 함수 기법으로 검색 하기 때문에 상당히 빠르다.

그럼 지금까지의 모든 기법을 알아봤으니 뭐가 제일 나은지 정리 해보자

Set - HashSet

List - ArrayList

Map - HashMap

Queue - LinkedList

아마 가장 안정적이고 자주쓰는 것을 자바 에서 지정해줬으리라..

그럼 여기서 끝...

다음엔 더 자세히 해보자~

댓글 없음:

댓글 쓰기