본문 바로가기

HashMap2

HashMap, Hashtable, ConcurrentHashMap 동기화 처리 방식 먼저 HashMap과 HashTable의 차이에 대해서 알아보자. Key, Value 형식의 데이터를 저장하는 기능을 제공하는 자료 구조로 큰 맥락에서는 동일하다. 그러나 크게 3가지 정도의 차이를 보인다. Null 허용 여부동기화 여부iterator/Enumeration HashMap은 Key나 Value에 Null 값을 허용하지만 HashTable이나 ConcurrentHashMap은 Null을 허용하지 않는다. 그리고 내부 아이템을 순회하기 위한 기능을 제공하는데, 그 부분에 대해서도 차이가 있다.(자세한 내용은 아래 링크 참조) http://www.jpstory.net/2013/11/difference-hashtable-hashmap-concurrenthashmap/ 여기서는 HashMap, Ha.. 2016. 12. 20.
HashMap, TreeMap 그리고 LinkedHashMap의 차이 최근 어떤 기회로 TreeMap과 HashMap은 어떤 차이가 있는지에 대한 질문을 받았다. 과거 Java 책에서 관련 내용을 본 적은 있으나 잘 기억이 나질 않았다. 특별한 경우를 제외하고는 HashMap을 주로 사용했기 때문에 크게 관심 두지 않았던 것 같다. (Java 개발자라 칭하면서도 기본적인 것을 놓치고 있었던 것에 반성해 본다.) 그래서 한 번 정리해 본다. Java에는 Collection이라는 이름하에 Map, List, Set이 있다. 그 중에서도 Map에 대해서 정리해 보고자 한다.(JDK 1.8 기준) Map이란?key-value 형식의 데이터를 저장할 수 있는 자료 구조이다. Java 개발자라면 HashMap을 자주 사용할 것이다. Map은 인터페이스로 아래와 같이 선언되어 있다. .. 2016. 12. 19.