Map
HashMap이란?
Map의 인터페이스를 구현한 대표적인 Map 컬렉션 - Map의 성질을 그대로 가지고있음
Map은 key와 값으로 구성된 Entity객체를 저장하는 구조를 가진 자료구조 (여기서 key값은 객체)
- Value는 중복저장 O
- Key는 중복저장 X
기존에 저장된 키와 동일한 키를 가진 값을 저장하면 기존값은 없어지고 새로운 값으로 대체됨
HashMap은 이름 그대로 해싱을 사용하기 때문에 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을보임
해시 함수를 통해 '키'와 '값'이 저장되는 위치를 결정하므로, 사용자는 그 위치를 알수 없고, 삽입되는 순서와 들어있는 위치 또한 관계가 없음
HashMap 선언
HashMap<String,String> map1 = new HashMap<>();
HashMap<String,String> map2 = new HashMap<>(map1); //map1의 모든 값을 가진 HashMap생성
HashMap<String,String> map3 = new HashMap<>(10); // 초기 용량 지정
HashMap<String,String> map4 = new HashMap<>(10, 0.7f) //초기 capacity,load factor지정
HashMap 추가, put()
HashMap<Integer,String> map = new HashMap<>();
map.put(1, "사과");
map.put(2, "오렌지");
HashMap 추가, remove() / clear()
HashMap<Integer,String> map = new HashMap<>();
map.remove(1); //key값 1 제거
map.clear(); // 모든 값 제거
HashMap 확인
boolean containsKey(Object key) : key와 일치하는 데이터가 있는지 여부를 반환합니다. (있으면 true)
boolean containsValue(Object value) : value가 일치하는 데이터가 있는지 여부를 반환합니다. (있으면 true)
boolean isEmpty( ) : 데이터가 빈 상태인지 여부를 반환합니다. (빈 상태면 true)
int size( ) : key-value 맵핑 데이터의 개수를 반환합니다.
getOrDefault
찾는 키가 존재 한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메서드
getOrDefault(Object key, V DefaultValue)
- key : 값을 가져와야하는 요소의 키
- defaultValue : 지정된 키로 매핑된 값이 없는 경우 반환되어야하는 기본값
반환 값 : 찾는 key가 존재하면 해당 key에 매핑되어 있는 값을 반환하고, 그렇지 않으면 디폴트 값이 반환됩니다.
import java.util.HashMap;
public class MapGetOrDefaultEx {
public static void main(String arg[]) {
String [] alphabet = { "A", "B", "C" ,"A"};
HashMap<String, Integer> hm = new HashMap<>();
for(String key : alphabet) hm.put(key, hm.getOrDefault(key, 0) + 1);
System.out.println("결과 : " + hm);
// 결과 : {A=2, B=1, C=1}
}
}
'JAVA' 카테고리의 다른 글
[Java] HashMap에서 최대값/최소값 key, value 찾기 (0) | 2024.07.20 |
---|---|
[Java] 라이브러리 (0) | 2024.07.20 |
[Java] Array 클래스 (0) | 2024.07.20 |
[Java] StringBuilder 클래스 (0) | 2024.07.20 |
[Java] Math 클래스 (1) | 2024.07.20 |