Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 8의 스트림과 컬렉션의 차이점

<시간/>

Java Collections 프레임워크는 데이터 그룹을 저장하고 조작하는 데 사용됩니다. 이는 메모리 내 데이터 구조이며 컬렉션에 추가되기 전에 컬렉션의 모든 요소를 ​​계산해야 합니다.

Stream API는 데이터 그룹 처리에만 사용됩니다. 실제 컬렉션을 수정하지 않고 파이프라인 방식에 따라 결과만 제공합니다.

Sr. 아니요. 컬렉션 스트림
1
기본
데이터 그룹을 저장하고 조작하는 데 사용됩니다.
Stream API는 데이터 그룹 처리에만 사용됩니다.
2
패키지
이 API의 모든 클래스와 인터페이스는 Java.util 패키지에 있습니다.
이 API의 모든 클래스와 인터페이스는 java.util.stream 패키지에 있습니다.
3
열심/게으름
컬렉션의 모든 요소는 처음에 계산됩니다.
스트림에서 중간 작업은 지연됩니다.
4.
데이터 수정
컬렉션에서 요소를 제거하거나 추가할 수 있습니다.
스트림을 수정할 수 없습니다.
5
외부/내부 반복기
컬렉션은 컬렉션에 대해 반복을 수행합니다.
스트림은 내부적으로 반복을 수행합니다.

컬렉션의 예

public class CollectiosExample {
   public static void main(String[] args) {

      List<String> laptopList = new ArrayList<>();
      laptopList.add("HCL");
      laptopList.add("Apple");
      laptopList.add("Dell");
      Comparator<String> com = (String o1, String o2)->o1.compareTo(o2);

      Collections.sort(laptopList,com);

      for (String name : laptopList) {
         System.out.println(name);
      }
   }
}

스트림의 예

public class StreamsExample {
   public static void main(String[] args) {

      List<String> laptopList = new ArrayList<>();
      laptopList.add("HCL");
      laptopList.add("Apple");
      laptopList.add("Dell");
      laptopList.stream().sorted().forEach(System.out::println);
   }
}