외부 반복자 : List에서 index로 접근하거나, Set에서 Iterator로 접근하는 것은 요소들을 외부로 꺼내와서 작업하는 방식이다.
내부 반복자 : 데이터를 Stream에 넣어주면 데이터가 흘러가면서 외부에서 하나씩 처리된다. 람다식으로 처리한다.
-> 외부 반복자를 사용하면 시간이 더 오래 걸린다.
Set<String> set = new HashSet<>();
Stream<String> stream = set.stream();
stream.forEach((item) -> { 처리내용 });
// 매개변수가 있어야하므로 t를 넣어준다.
List<String> list = new ArrayList<>(); Stream<String> stream = list.parallelStream(); stream.forEach(item -> {});
- 여러개의 스트림을 만드는 병렬 스트림은 parallelStream()을 사용
- 코어 개수(논리 프로세스)만큼 스레드 생성
- 컬렉션에서 숫자만 꺼내오기 : mapToInt(객체 값);
- 요소 걸러내기
- distinct() : 중복 제거
- filter(람다식) : 조건 필터링
- boolean을 반환하는 메소드를 사용하여 람다식 작성