[java] Map과 HashMap

NOH-ING·2022년 11월 30일
0

java

목록 보기
1/2
post-thumbnail

Map

Map이란 key-value로 데이터를 저장하는 인터페이스이다. Map 구현 클래스로는 HashTable, HashMap, LinkedHashMap, SortedMap, TreeMap 등이 있다. 보통 Map은 아래와 같이 구현체를 선언해서 사용한다.

Map<String, Object> map = new HashMap<String, Object>;

Map의 키는 중복될 수 없지만, 값은 중복을 허용한다. 중복된 키값을 저장하면 기존 값은 없어지고 마지막 값이 남게된다.

Map<String, String> map = new HashMap<String, String>;
map.put("key1", "test1");
map.put("key2", "test2");
map.put("key1", "test3");

위의 코드가 실행되면 Map의 값은 아래와같이 데이터를 저장한다.

keyvalue
key1test3
key2test2

HashMap

HashMap은 Map의 구현 클래스이다. 그래서 Map의 특징을 가지며 해싱(hashing)을 사용하기 떄문에 많은 양의 데이터를 검색하는데 뛰어나다.
HashMap은 아래와 같이 두 가지 방법으로 선언 가능하다.

Map<String, String> map = new HashMap<String, String>;
HashMap<String, String> map = new HashMap<String, String>;

위의 두 가지 방법 중에 첫 번째 방법을 사용하는 것이 좋다. 이유는 Map은 인터페이스이기 때문에 코드의 유연성이 높아진다. 즉 HashMap 이외의 다른 구현체로 변경을 해야 할 때 수정이 쉬워 유지보수하기 좋아지기 때문이다.

profile
성장하는 중입니다.

0개의 댓글