한 걸음 두 걸음

자바 JAVA ] 맵 Map 자료구조 활용하기 : HashMap 본문

Language/Java

자바 JAVA ] 맵 Map 자료구조 활용하기 : HashMap

언제나 변함없이 2019. 11. 17. 18:40
반응형

Map 개념

Map은 mapping의 약자인 자료구조로, ("Key","Value") 값으로 pair를 이룹니다.

Java에서 순서가 있는 자료나 집합공간을 만들기 위해 Collection를 제공하나, 순서가 없는 Map과 같은 것은 별도로 제공합니다.

Map 특징

  1. 데이터를 키를 통해 관리합니다.
  2. 인덱스가 없고 데이터의 순서가 없습니다.

Map의 종류

HashMap : 동기화를 보장하지 않는 Map클래스로, value에 null을 저장할 수 있습니다. 순서를 보장하지 않으나 해싱을 사용하므로 빠릅니다.
(싱글스레드는 HashMap을 사용하지만 멀티스레드 및 동기화가 필요하다면 MapTable을 사용합니다.)
TreeMap entry를 트리형식으로 저장하기 때문에 순서를 보장합니다.
LinkedHashMap 연결리스트로 구현한 해쉬맵입니다. 이 또한 순서를 보장합니다.
SortedMap : 정렬을 위한 Map클래스

순서를 고려할 필요가 없다면 O(1)의 복잡도를 갖는 HashMap을 사용하는 것이 일반적입니다.

HashMap

해쉬맵을 만들 때는

HashMap<String, String> map = new HashMap<>();

위 처럼 String형식의 key와 value를 사용할 것이라 명시합니다.
자료추가
map.put("키1","값1"); // 키1에 대응되는 value값을 초기화합니다.
자료접근
키값으로 접근합니다.
map.get("키1"); //"값1"을 반환
삭제

map.clear();

이 외에도 다양한 쓰임에 대해 궁금하신 분들은 아래의 공식 문서를 참고해서 사용해주세요.

https://docs.oracle.com/javase/9/docs/api/java/util/Map.html

반응형