Java 8 람다(Lambda) 적용 예Language/Java2022. 11. 24. 14:38
Table of Contents
반응형
람다(Lamdba) 란
람다식, 또는 람다 함수라 부른다.
프로그래밍 언어에서 사용되는 개념으로, 익명 함수(Anonymous functions)를 지칭하는 용어이다.
나무위키
예제
Map에서 특정한 값을 가지는 entry에 대해서 삭제하는 코드입니다.
Map<String, String> map = new HashMap<>();
map.put("XXX", "111");
map.put("YYY", "222");
map.put("ZZZ", "333");
map.put("AAA", "444");
map.put("BBB", "555");
map.entrySet().stream()
.filter(entry -> entry.getValue().equals("111"))
.map(entry -> entry.getKey())
.collect(Collectors.toList())
.forEach(map::remove);
System.out.println(map);
실행 결과입니다.
{YYY=222, ZZZ=333, AAA=444, BBB=555}
만약, collect
함수를 삭제할 경우 컴파일 에러는 없지만 다음과 같은 예외를 발생합니다.
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:20)
삭제하는 코드를 간략하게 구현할 수 있지만 위의 예제는 람다식의 다양한 함수를 보여주기 위해 사용하였습니다.
반응형
'Language > Java' 카테고리의 다른 글
[Java] Iteration 예 (0) | 2022.11.25 |
---|---|
[Java] 스트림(Stream) 사용 방법 (0) | 2022.11.25 |
Java 8 스트림 적용시 성능 변화 (0) | 2022.11.24 |
[JAVA] 날짜 비교 (0) | 2022.09.23 |
[JAVA] String형 Bytes length 구하기 (0) | 2022.09.22 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!