Java/Grammar

[Java 문법] map.forEach()

annovation 2025. 1. 5. 10:13

map.forEach()

Map.forEach()는 Java 8에서 추가된 람다 표현식 기반의 메서드로, Map의 각 키-값 쌍에 대해 반복 작업을 수행할 때 사용됩니다.
forEach()는 Map 인터페이스에서 제공하며, 내부적으로 Map의 모든 엔트리를 처리합니다.


기본 문법

map.forEach((key, value) -> {
    // key와 value를 이용한 작업 수행
});

예제

1. 간단한 사용

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        // Map 생성
        Map<String, Integer> map = new HashMap<>();
        map.put("Apple", 3);
        map.put("Banana", 5);
        map.put("Cherry", 7);

        // forEach 사용
        map.forEach((key, value) -> {
            System.out.println("Key: " + key + ", Value: " + value);
        });
    }
}

 

➡️ 출력

Key: Apple, Value: 3
Key: Banana, Value: 5
Key: Cherry, Value: 7

 

2. 조건에 따라 특정 값만 출력

map.forEach((key, value) -> {
    if (value > 4) {
        System.out.println("Key: " + key + ", Value: " + value);
    }
});

 

➡️ 출력 : 값이 4보다 큰 경우만 출력

 

3. 값 수정

Map의 값을 수정하려면 compute 또는 put 메서드를 사용할 수 있습니다.

map.forEach((key, value) -> {
    if (key.startsWith("A")) {
        map.put(key, value + 1); // 값 수정
    }
});

주의

  • forEach 내부에서 Map을 수정하면 ConcurrentModificationException이 발생할 수 있습니다.
  • Map의 구조를 변경해야 하는 경우에는 forEach 대신 다른 반복문이나 메서드를 사용하는 것이 안전합니다.

출처

OpenAI ChatGPT (https://openai.com)

'Java > Grammar' 카테고리의 다른 글

[Java 문법] substring() method  (0) 2025.01.12
[Java 문법] StringBuilder  (0) 2025.01.10
[Java 문법] Stream API 주요 method 정리  (1) 2024.12.31
[Java 문법] 데이터 타입 (Data Type)  (1) 2024.12.28
[Java 문법] 롬복 (Lombok)  (1) 2024.12.22