을 다른 책에없는 Collection
에있는 모든 책 중 하나로 만들려고합니다. 내 문제는 책 ID를 기반으로 비교해야하기 때문에 첫 번째 책이 두 번째 책에 포함되어 있는지 여부를 확인하기 위해 테스트 할 수 없으며 두 번째 모음집에있는 책과 동일한 ID가 있는지 여부를 확인해야합니다. 첫 번째 책. 내가 객체 자신을 비교하고 있기 때문에Java 8의 두 컬렉션의 차이점을 찾으십니까?
List<Book> parentBooks = listOfBooks1.stream().filter(book-> !listOfBooks2.contains(book)).collect(Collectors.toList());
이 코드가 제대로 작동하지 않습니다
는 내가 첫 컬렉션을 책의 두 컬렉션을 비교하고 필터링하는 아래의 코드가 있습니다. 나는 전체 book 객체 대신에 bookId에 기반한 객체들을 비교할 필요가있다. bookId (book.getId())를 기반으로 비교를 수행 할 수 있도록 코드를 어떻게 변경해야합니까?
고마워요. 그것은 효과가 있었다. – Nisman
와우가 작동하는 이유 – user2244734
왜 Set (ids), Why not List가 나를 좋아하니? Set의 "contains"연산은 O (1)을 사용하기 때문입니다. –