Hashtable은 HashMap의 이전 버젼이므로 HashMap을 사용하기를 권장합니다.
여기서는 Hashtable보다는 HashMap을 사용하여 예제를 진행해보도록 하겠습니다.
HashMap은 Entry라는 내부 클래스를 정의하고, 다시 Entry 다입의 배열을 선언하고 있습니다.
키(key)와 값(value)은 별개의 값이 아니라 서로 연관된 값이기 때문에 각각의 배열로 선언하기 보다는 하나의 클래스로 정의해서 하나의 배열로 다루는 것이 데이터의 무결성적인 측면에서 더 바람직합니다.
HashMap은 키와 값을 각각 Object타입으로 저장합니다. 즉(Object, Object)의 형태로 저장하기 때문에 어떠한 객체도 저장할 수 있습니다.
키(key)는 컬렉션 내의 키중에서 유일해야하고, 값(value)는 키와 달리 데이터의 중복을 허용합니다.
그럼 아래 예제를 같이 보시죠.
전형적인 HashMap 예제입니다. 소스는 간단해서 그냥 눈으로 확인하셔도 이해를 하시리라 믿습니다.
10라인과 11라인에서 중복된 키값이 입력되는데, HashMap은 중복된 키를 허용하지 않기 때문에 나중에 입력된 키로 값이 덮어써짐을 확인할 수 있습니다.
TreeMap은 이름에서 알 수 있듯이 이진검색트리의 형태로 키와 값의 쌍으로 이루어진 데이터를 저장합니다. 그래서 검색과 정렬에 적합한 컬렉션 클래스입니다.
검색성능은 HashMap이 성능이 더 뛰어나므로 TreeMap보다는 HashMap을 사용하는 것이 좋습니다.
다만, 범위검색이나 정렬이 필요한 경우에는 TreeMap을 사용하도록 하는게 좋습니다.
이 포스트가 도움이 되셨다면 꼭 공감버튼을 눌러주세요. ^^*
Calendar, Date, Random (0) | 2019.04.23 |
---|---|
Properties (0) | 2019.04.23 |
Comparator, Comparable (0) | 2019.04.21 |
Hashset, LinkedHashSet, TreeSet (0) | 2019.04.21 |
Iterator, Enumeration, ListIterator에 대해서... (0) | 2019.04.20 |
댓글 영역