기본적으로 모두 형태의 자료구조이며, Key값의 중복을 허용하지 않고, Value의 중복을 허용한다. 1. HashMapJava 1.2부터 생겼으며 기존 HashTable의 Synchronized를 풀어 쓴 맵이다.동기화가 되어있지 않아 보통 단일 쓰레드에 사용되며, Java 1.8부터는 알고리즘을 개선하여 속도가 더 빨라졌다. 2. HashTableJava 1.0 ~ Java 1.1에 사용됐다.Synchronized가 되어있다. 3. SynchronizedMapMap을 Wrapping하여 HashTable처럼 동기화 시키는 방법이다.HashTable에 비해 속도가 빠르며, 보통 멀티 쓰레드 환경에서 사용한다. 4. ConcurrentHashMapJava 1.5 Concurrent 패키지가 생기면서 만들..