본문 바로가기

Language/Java

JAVA - Map(HashMap, LinkedHashMap)

 

1. Map, HashMap, LinkedHashMap

 

  • 공통적으로 모두 key-value 형태로 저장이 된다.
  • 차이점이라기 보단 Map은 인터페이스이고 HashMap, LinkedHashMap은 Map을 상속받은 클래스이다.
  • HashMap, LinkedHashMap은 차이가 있는데,  HashMap은 입력순서를 보장하지않는다. 반대로  LinkedHashMap은 입력 순서를 보장한다.

 

예를 통해 한번 확인해보자.

 

private LinkedHashMap<key, value> lhm = new LinkedHashMap();
private HashMap<ket, value> hm = new HashMap();

lhm.put(key1, value1);
lhm.put(key2, value2);
lhm.put(key2, value3);


hm.put(key1, value1);
hm.put(key2, value2);
hm.put(key3, value3);

 

 

다음과 같이 작성했을때, LinkedHashMap은 순서대로 저장되지만 HashMap은 그렇지 않다.

하지만 LinkedHashMap은 순서를 보장하기 때문에 메모리 사용량이 HashMap 보다 크다는 단점이 있다.(포인터가 차지하는 용량 고려)

 

또한 메서드는 아래와 같다.

.put() -> 삽입

.get() -> 입력된 key에 해당하는 value 꺼내기

.remove() -> 입력된 key에 해당하는 데이터 삭제

.containsKey() -> 입력된 key에 해당하는 값 갖는지 확인

.size() -> Map의 크기, key의 수 확인

.values() -> 값들을 불러옴

.keySet() -> 키값들을 불러옴

'Language > Java' 카테고리의 다른 글

Jar 파일 만들고 사용해보자  (0) 2023.10.09
완전탐색 재귀호출에서 전역필드에 값 추가  (0) 2023.06.09
JAVA - BASIC  (0) 2023.05.18
JAVA - Grammar  (0) 2023.05.03
JAVA - Loop(for, iterator, stream)  (0) 2023.03.23