필터링
: 중간 처리 기능을 요소를 걸러내는 역할
: distinct() 와 filter() 메소드 - 모든 스트림이 가지고 있는 공통 메소드
1. distinct()
: 중복을 제거
: Stream의 경우 Object.equals(Object)가 true이면 동일한 객체로 판단하고 중복을 제거
: IntStream, LongStream, DoubleStream은 동일값일 경우 중복을 제거
2. filter()
: 매개값으로 주어진 Predicate가 true를 리턴하는 요소만 필터링
필터링
package sec04.stream_filtering_YJ;
import java.util.Arrays;
import java.util.List;
public class FilteringExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("홍길동", "신용권", "감자바", "신용권", "신민철");
names.stream()
.distinct() //중복 제거
.forEach( n -> System.out.println(n));
System.out.println();
names.stream()
.filter( n -> n.startsWith("신")) //필터링
.forEach( n -> System.out.println(n));
System.out.println();
names.stream()
.distinct() //중복 제거 후
.filter( n -> n.startsWith("신")) //필터링
.forEach( n-> System.out.println(n));
}
}
홍길동
신용권
감자바
신민철
신용권
신용권
신민철
신용권
신민철
'Java > 16. 스트림과 병렬 처리' 카테고리의 다른 글
Day 22 : 정렬 (sorted()) (0) | 2021.11.17 |
---|---|
Day 21 : 매핑 (flatMapXXX(), mapXXX(), asXXXStream(), boxed()) (0) | 2021.11.16 |
Day 21 : 스트림 파이프라인 (0) | 2021.11.16 |
Day 21 : 스트림의 종류 (0) | 2021.11.16 |
Day 21 : 스트림의 특징 (0) | 2021.11.16 |