[Java] 6-4강 - Collection Framework 4 (Map)
6. Map
0) Map
[1] key는 중복을 허용하지 않는다. (no duplicate keys)
[2] key 하나는 최대 1개의 value를 가진다. (each key can map to at most one value)
1> Hierarchy of interfaces
2> Interface Map<K, V>에 정의된 Method
3> Map.Entry
Interface Map 내부의 interface (inner interface)
- Map.Entry<K, V>에 정의된 Method
cf>
Hashtable : synchronized (탐색 시 동시에 접근이 가능합니다.)
HashMap : asynchronized
1) HashMap
1> HashMap 정의
[1] HashMap 정의 내부에 Node<K, V>라는 inner class(내부에 class가 또 정의됨)가 있습니다.
- 여기서 key와 value를 선언합니다.
- key는 final로 값을 바꿀 수 없게 합니다.
[2] 그리고 Node는 array 형태로 만듭니다.
2> Method - Constructor
3> Method
V get(Object key) :
V put(K key, V value) :
V remove(Object key) :
4> <example 1>
key가 같은 것을 put하면
key는 그대로 있고 value가 이전 것이 아닌 최근에 put한 것으로 대체됩니다.
5> <example 2>
6> <example 3>
7> <example 4>
8> Hashing
equals()와 hashCode()를 semantic이 같게 만들어야 HashMap이 가능합니다.
2) TreeMap
1> TreeMap
key를 기준으로 sort되어있습니다.
key는 comparable해야 합니다.
2> Method - constructor
3> Method
3> <example 1>