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