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 |