网站开发经理具备什么知识,php网站开发编程软件,c 网站开发的书籍,免费建立网站空间Java 8 引入的 Stream API 是一个高级工具#xff0c;用于在集合上执行复杂的数据处理查询。Stream API 通过提供一系列的中间操作和最终操作#xff0c;支持声明式处理#xff08;类似于SQL声明式语句#xff09;并且可以轻松使用多核架构。
创建Stream流
创建Stream 流…Java 8 引入的 Stream API 是一个高级工具用于在集合上执行复杂的数据处理查询。Stream API 通过提供一系列的中间操作和最终操作支持声明式处理类似于SQL声明式语句并且可以轻松使用多核架构。
创建Stream流
创建Stream 流的方式有多中我们可以从集合或者数组中进行创建
collection.stream() 或 Arrays.stream(array)或者从静态工厂中进行创建
Stream.of(), IntStream.range()同样也可以从文件中生成流
Files.lines(Path path)对流进行操作
我们对流进行操作之后并不会产生最终结果通常来说是懒加载的并且可以链式调用。
filter操作设置一定的操作对Stream中所有的元素进行过滤map操作转换元素sorted操作对流中的数据进行排序limit操作限制流中的元素数据数量ditinct操作去除重复元素
最终操作
经过这些最终操作之后不能再对流进行操作。一些常见的最终操作包括
forEach遍历每一个元素collect将流转换成不同类型的结果reduce通过某个二元操作合并流中的元素count操作返回流中元素的个数
简单示例
ListString myList Arrays.asList(apple, banana, cherry, date);ListString filtered myList.stream().filter(s - s.startsWith(a)) // 中间操作过滤以a开头的字符串.map(String::toUpperCase) // 中间操作转换成大写.collect(Collectors.toList()); // 最终操作收集到List中filtered.forEach(System.out::println); // 输出过滤后的列表注意
需要注意的一点是 Stream一旦执行了最终操作就会被消耗掉也就无法再次使用如果我们需要再次使用相同的数据源就需要重新创建一个新的Stream。另外Stream的操作一般不会改变原始的数据源通常是会产生一个新的数据集。