algorithm/정리

99클럽 코테 스터디 5일차 TIL - 자바 map 관련 함수 (getOrDefault, equals)

ssoheeh 2024. 4. 5. 21:02

map 활용 시 많이 쓰이는 함수

getOrDefault(Object key, V 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}
	}
}

 

이렇게 이용하면 키가 이미 존재하는 경우 원래 value+1로 바뀌고 키가 존재하지 않는 경우 1이 들어가게 된다.

 

 

hashmap 간 비교

equals 사용 가능

HashMap<Integer, String> map1 = new HashMap<>();
 
map1.put(1, "A");
map1.put(2, "B");
map1.put(3, "C");
 
//Same as map1
HashMap<Integer, String> map2 = new HashMap<>();

map2.put(3, "C");
map2.put(1, "A");
map2.put(2, "B");
 
//Different from map1
HashMap<Integer, String> map3 = new HashMap<>();

map3.put(1, "A");
map3.put(2, "B");
map3.put(3, "C");
map3.put(3, "D");
 
System.out.println(map1.equals(map2));  //true
System.out.println(map1.equals(map3));  //false

 

 

 

오늘의 회고

  • ide 없이도 관련 함수를 잘 이용할 수 있도록 꾸준히 연습해야 한다.
  • 내일(4/6) 학습 예정 : 스프링부트 온라인 강의 듣기