Stream을 사용하시면 forEach(list::add)
나 collect
를 사용할 수 있지만, collect
를 사용하는게 병렬화 가능하고 thread-safe하기 때문에 더 좋습니다.
규칙을 어긴 코드
List<String> bookNames = new ArrayList<>();
books.stream().filter(book -> book.getIsbn().startsWith("0"))
.map(Book::getTitle)
.forEach(bookNames::add); // 규칙을 어긴 코드
규칙을 준수한 해결책
List<String> bookNames = books.stream().filter(book -> book.getIsbn().startsWith("0"))
.map(Book::getTitle)
.collect(Collectors.toList());
If you like SONARKUBE, don’t forget to give me a star.