JAVA

[Java] 6-4강 - Collection Framework 4 (Map)

intelligentcm 2020. 12. 5. 17:54

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>