RATSENO

두개의 List에서 변경된 항목 필터링 본문

DEV/JAVA

두개의 List에서 변경된 항목 필터링

RATSENO 2021. 5. 11. 16:33
        List<Item> asisList = new ArrayList<>();
        asisList.add(new Item(1L,"아이템1"));
        asisList.add(new Item(2L,"아이템2"));
        asisList.add(new Item(3L,"아이템3"));

        List<Item> tobeList = new ArrayList<>();
        tobeList.add(new Item(1L,"아이템1"));
        tobeList.add(new Item(2L,"아이템2입니다."));//이름 변경
        tobeList.add(new Item(3L,"아이템3입니다."));//이름 변경

        tobeList.forEach(item1 -> {
            asisList.stream()
                    .filter(item2-> item2.getId()==item1.getId())
                    .map(temp->{
                        System.out.println(temp);
                        return temp;
                    })
                    .findFirst()
                    .map(temp2->{
                        System.out.println("===findFirst===");
                        System.out.println(temp2.getId());
                        System.out.println("===============");
                        return temp2;
                    })
                    .ifPresent(item2-> {
                        if(!item2.getName().equals(item1.getName())){
                            System.out.println("이름이 "+item2.getName()+"에서 \'"+item1.getName()+"\'으로 변경");
                        }
                    });
        });
        //이름이 아이템2에서 '아이템2입니다.'으로 변경
		//이름이 아이템3에서 '아이템3입니다.'으로 변경

Optional<T> findFirst();

-해당 스트림의 첫번째 요소를 Optional로 반환

'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