HashMap, TreeMap, LinkedHashMap | HashTable |
---|---|
컬렉션 뷰 사용 | Enumeration 객체를 통해 데이터 처리 |
데이터를 순환하여 처리 가능 | 데이터를 순환하여 처리 불가 |
이터레이션 도중 안전한 삭제 가능 | 기능 제공 X |
기능 | HashMap | HashTable |
---|---|---|
키나 값에 null 저장 가능 여부 | O | X |
쓰레드 안전 | X | O |
HashMap의 상속 관계
java.lang.Object
java.util.AbstractMap<K, V>
java.util.HashMap<K, V>
HashMap에 담을 데이터의 사이즈를 예측할 수 있으면 생성 시에 initialCapacity를 지정해 주어 성능 향상하자.
키의 hashCode() 값으로 버킷(List)을 찾고 버킷에 데이터가 여러개 있으면 equals()를 사용해 동일한 값이 있는지 찾는다.
1 | 5 | 13 | 18 | 24 | 28 | 30 | 33 | 35 | 38 | 40 | |
---|---|---|---|---|---|---|---|---|---|---|---|
28 이상인가? | F | F | F | F | F | T | T | T | T | T | T |