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
아마 가장 안정적이고 자주쓰는 것을 자바 에서 지정해줬으리라..
그럼 여기서 끝...
다음엔 더 자세히 해보자~
댓글 없음:
댓글 쓰기