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);
}
}