Java 8 中 Stream 和 Collection 的区别
Java 集合框架用于存储和操作一组数据。它是一种内存中的数据结构,集合中的每个元素都必须在添加到集合之前计算出来。
Stream API 仅用于处理一组数据。它不会修改实际的集合,它们只根据管道方法提供结果。
| 序号 | 关键 | 集合 | 流 |
|---|---|---|---|
| 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);
}
}
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP