스트림은 Java 8에 도입되었으며 요소를 저장하는 것이 아니라 데이터 그룹을 처리하는 데만 사용됩니다. 실제 컬렉션을 수정하지 않고 파이프라인 방식에 따라 결과만 제공합니다.
스트림 API는 여러 작업을 지원하며 작업은 두 부분으로 나뉩니다 -
- 중간 작업 - 이 작업은 다른 방법을 파이프라인하고 다른 스트림으로 변환하는 데 사용됩니다. 이러한 작업은 터미널 작업이 실행될 때까지 호출되지 않기 때문에 결과를 생성하지 않습니다. 아래는 예시입니다 -
- 정렬(비교자
) - 피킹(소비자
) - 별도()
- 터미널 작업 - 이 작업은 결과를 생성하는 데 사용됩니다. 다른 메서드를 연결하는 데 사용할 수 없습니다. 아래는 예시입니다 -
- forEach
- 카운트
- 배열
| Sr. 아니요. | 키 | 중급 작업 | 터미널 작업 |
|---|---|---|---|
| 1 | 기본 | 이 작업은 다른 메서드를 파이프라인하고 다른 스트림으로 변환하는 데 사용됩니다. | 자바에서 터미널 연산은 스트림에 마지막 단계로 적용되는 방식이다. |
| 2 | 반환 유형 | 다른 스트림만 반환합니다. | 최종 결과를 반환합니다. |
| 3 | 메소드 | 정렬(비교자 엿보기(소비자 별개의() | forEach 세다 toArray |
| 4. | 사용 사례 | 이 작업은 스트림을 다른 스트림으로 변환하는 데 사용해야 합니다. | 결과를 생성하는 데 사용할 수 있습니다. |
중간 및 터미널 운영의 예
public class Main {
public static void main(String args[]) throws InterruptedException, ExecutionException {
List<String> laptopList = new ArrayList();
laptopList.add("DELL");
laptopList.add("ACER");
laptopList.add("HCL");
// Intermediate operation
laptopList.sort((p1, p2) -> p1.compareTo(p2));
// Terminal Operation
laptopList.forEach(a -> {
System.out.println(a);
});
}
}