[자료구조] HashMap 함수

angie·2024년 11월 8일

HashMap이란?

Map 인터페이스의 한 종류로써 key와 Value 값으로 데이터를 저장하는 형태이다.

또한, 해싱(Hashing)이란 검색방법을 사용하여 많은 양의 데이터를 검색하는데 있어 뛰어난 성능을 보인다.

HashMap에서 주의할점이 있다면 map 데이터를 등록할 떄, key 값을 중복되지 않고 value는 중복이 허용된다는 점이다.

HashMap(Map) 사용하기

put

HashMap<String, String> map = new HashMap<String, String>(); // HashMap 생성
map.put("people", "사람");
map.put("baseball", "야구");

putIfAbsent

지정된 키가 맵에 없을 경우에만 해당 키-값 쌍을 추가한다. 만약 키가 이미 존재하면 값을 덮어쓰지 않는다.

Map<String, Integer> map = new HashMap<>();
map.putIfAbsent("pop", 150); // 장르가 없으므로 추가
map.putIfAbsent("pop", 200); // "pop" 장르는 이미 존재하므로 값이 바뀌지 않음

get

key에 해당되는 값을 얻기 위해서 사용한다.

map.get("people");

value값인 "사람"이라는 문자열을 출력한다.

getOrDefault

맵에서 지정한 키에 대한 값을 반환한다. 그러나 키가 존재하지 않으면 지정된 기본값을 반환한다.

Map<String, String> map = new HashMap<>();
int value = map.getOrDefault("pop", 0) // "pop" 장르가 없으므로 0을 반환한다.

containsKey

continsKey 메소드는 맵(Map)에 해당 키(key)가 있는지를 조사하여 그 결과값을 boolean으로 리턴한다.

map.containsKey("people");

true가 리턴된다.

remove

remove 메소드는 맵(Map)의 항목을 삭제하는 메소드로 key값에 해당되는 아이템(key,value)을 삭제한 후 그 value값을 리턴한다.

System.out.println(map.remove("people));

"people"에 해당하는 아이템이 삭제된 후 "사람"이 출력된다.

size

size 메소드는 Map의 개수를 리턴한다.

map.size()

entrySet()을 사용한 순회

	Map<String, String> map = new HashMap<>();
    map.put("people", "사람");
    map.put("baseball", "야구");
        
	for(Map.Entry<String, String> entry : map.entrySet()){

	String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key + ": " + value);
	}
profile
열심히 달리는 개발자

0개의 댓글