스트림은 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); }); } }