관리 메뉴

피터의 개발이야기

[JAVA] HashMap, LinkedHashMap 차이점 및 사용법 본문

Programming/JAVA

[JAVA] HashMap, LinkedHashMap 차이점 및 사용법

기록하는 백앤드개발자 2020. 12. 5. 11:11
반응형

 


HashMap은 개발의 편의성을 위해 자주 사용한다.

MSA로 구성된 서비스에서 더더욱 그러하다.

사용자 정보를 조회하고 다른 서버와 통신하여 구매정보를 구해온다.

키값으로 구매정보 리스트를 HashMap에 저장하여

사용자정보 기준으로 정보를 쉽게 조합할 수 있다.

 

1. 객채 선언

HashMap map = new HashMap();

 

2. 데이터생성

map.put(10, "apple");
map.put(20, "orange");
map.put(30, "banana");
map.put(40, "watermelon");
map.put(50, "dragonfruit");

 

3. 데이터 조회

String carName = (String)map.get(10);

 

4. 데이터 삭제

map.remove(20);

 

5. 키의 존재여부

if(map.containsKey(10)){
	System.out.println("있어");
}else{
	System.out.println("없어!");
}

 

데이터를 검색할 때에

리스트는 순차적으로 자료를 찾을 수 있지만

HashMap은 키값으로 정보를 바로 찾을 수  있다.

 

한편, 리스트는 정보의 순서가 보장되어 있다.

하지만, 맴은 등록된 순서를 보장 받을 수 없다.

map.forEach((key, value)
	-> System.out.println("key: " + key + ", value: " + value));

key: 50, value: dragonfruit
key: 20, value: orange
key: 40, value: watermelon
key: 10, value: apple
key: 30, value: banana

 

리스트의 장점과 맵의 장점을 합쳐진 것이 LinkedHashMap이다.

 

LinkedHashMap map = new LinkedHashMap();
map.put(10, "apple");
map.put(20, "orange");
map.put(30, "banana");
map.put(40, "watermelon");
map.put(50, "dragonfruit");

map.forEach((key, value)
-> System.out.println("key: " + key + ", value: " + value));

key: 10, value: apple
key: 20, value: orange
key: 30, value: banana
key: 40, value: watermelon
key: 50, value: dragonfruit

LinkedHashMap은 입력받은 순서가 보장되며, 사용방법은 HashMap과 동일하다. 

반응형
Comments