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과 동일하다.
반응형