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 |