ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Map 의 메소드 compute 이해하기
    Java 2024. 1. 5. 22:11

    코딩 문제를 풀던 중, 풀이 방법에서 compute가 사용되었는데 내 나름의 방식으로 이해한 점을 기록한다

    compute 메소드에 직접 들어가 이해하는 것이 가장 좋은 방법이겠지만, 나한텐 너무 복잡하다.

     

    result.compute(ch, (k, v) -> (v == null)? 1 : ++v);

     

    compute가 사용된 구문은 위와 같았는데,

    람다로 되어있기도 하고, 처음에는 ch와 k,v가 대체 무슨 역할인지 이해가 가지 않았다. 

     

    public void test() {
    		Map<String , Integer> result = new HashMap<>();
    		
    		result.put("변수1", 1000);
    		result.put("변수2", 2000);
    		
    		result.compute("변수1", (k, v) -> v = v + 100);
    
    		System.out.println(result.get("변수1"));
    		System.out.println(result.get("변수2"));
    }
    ---------
    콘솔 로그
    -----------
    1100
    2000

    위처럼 했을 때,

    기존 소스에서 ch에 해당하는 부분이 변수에 해당하는 부분으로

    result 안에서 ch 또는 "변수1" 값에 해당되는 key 값을 찾아, value에 적용시켜줌을 이해하였다.

    댓글

Designed by Tistory.