로딩
요청 처리 중입니다...

95 Stream API, takeWhile, dropWhile

 95 Stream API, takeWhile, dropWhile

stream API를 쓴다고 하면 평소 자주 사용하는 메서드들만 활용해서 사용했던 것 같습니다. 최근 [ 모던 자바 인 액션 ] 책을 읽고 있는데, 처음 발견한 스트림 슬라이싱에 유용한 메서드를 발견하게 되었고, 기억에 남기고자 글을 정리 하게 되었습니다.

기존 filter의 경우, 요소의 처음부터 끝까지 모두 비교를 하는 방식입니다. 정렬이 되지 않은 요소를 탐색할 때에는 효과적인 방식이겠지만, 만약 요소가 정렬이 되어 있을 경우 어느 시점부터 불필요한 연산을 하게 된다는 불편함이 생길 수 있게 됩니다.

List foodList = List.of(new Food("엽기떡볶이", 18000L), new Food("연어초밥", 19000L), new Food("김밥", 21000L), new Food("장어덮밥", 80000L)); foodList.stream() .filter(food -> { System.out.println(food.getName() + "은 20,00...