Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 스프링
- date
- JS
- JavaScript
- map()
- SpringBoot
- leetcode
- 유레카
- OAuth
- spring boot
- jQuery
- Spring
- GIT
- IntelliJ
- 스프링부트
- Spring Cloud
- EUREKA
- 스프링 클라우드
- docker
- 프로그래머스
- 자바스크립트
- STS
- 비동기
- map
- gitlab
- 코딩테스트
- spring security
- Java
- 자바
- 도커
Archives
- Today
- Total
RATSENO
두개의 List에서 삭제된 항목, 추가된 항목 필터링 본문
List<Item> asisList = new ArrayList<>();
asisList.add(new Item(1L,"아이템1"));
asisList.add(new Item(2L,"아이템2"));
asisList.add(new Item(5L,"아이템5"));
List<Item> tobeList = new ArrayList<>();
tobeList.add(new Item(1L,"아이템1"));
tobeList.add(new Item(2L,"아이템2"));
tobeList.add(new Item(3L,"아이템3"));
tobeList.add(new Item(4L,"아이템4"));
//아이템3과, 아이템4과 나와야함
List<Item> addedItemList = new ArrayList<>(tobeList);
addedItemList.removeIf(item1->asisList.stream().anyMatch(item2->item2.getId()== item1.getId()));
//아이템5가 나와야함
List<Item> deletedItemList = new ArrayList<>(asisList);
deletedItemList.removeIf(item1->tobeList.stream().filter(item2->item2.getId()==item1.getId()).count()>0);
System.out.println(addedItemList);
default boolean removeIf(Predicate<? super E> filter)
-Predicate, 람다 표현식으로 전달된 조건문이 true인 경우 해당 요소를 제거
boolean anyMatch(Predicate<? super T> predicate)
-Predicate, 람다 표현식으로 전달된 조건문이 요소들 중에서 하나라도 true인 경우, true 반환
Stream<T> filter(Predicate<? super T> predicate)
-Predicate, 람다 표현식으로 전달된 조건문이 true인 요소들로 이루어진 Stream을 반환.
'DEV > JAVA' 카테고리의 다른 글
두개의 List에서 변경된 항목 필터링 (0) | 2021.05.11 |
---|---|
CompletableFuture<T> -2 (0) | 2021.03.22 |
[Lombok]"is"prefix가 붙은 boolean, Boolean (2) | 2021.03.16 |
CompletableFuture<T> -1 (0) | 2021.03.14 |
[JAVA]TreeSet (0) | 2020.02.05 |
Comments