上传到ftp网站模板,机械厂做的网站模板叫什么,产品营销策略怎么写,韩国今天新闻一、概述 Stream流是Java 8 API添加的一个新的抽象#xff0c;以一种声明性方式处理数据集合#xff08;侧重对于源数据计算能力的封装#xff0c;并且支持序列与并行两种操作方式#xff09;。 Stream流是对集合#xff08;Collection#xff09;对象功能的增强#xf…一、概述 Stream流是Java 8 API添加的一个新的抽象以一种声明性方式处理数据集合侧重对于源数据计算能力的封装并且支持序列与并行两种操作方式。 Stream流是对集合Collection对象功能的增强与Lambda表达式结合可以提高编程效率、间接性和程序可读性。
二、如何使用Stream流 1.创建Stream流。 1Stream创建。
StreamString stream1 Stream.of(one,two);(2) Collection集合创建。
ListString list Arrays.asList(one,two);
StreamString stream list.stream(); // 串行Stream
StreamString parallelStream list.parallelStream(); // 并行Stream3Array数组创建
String[] strArr {one,two};Stream arrayStream Arrays.stream(strArr);(4) 文件创建
try {StreamString fileStream Files.lines(Paths.get(file.txt), Charset.defaultCharset());} catch (IOException e) {e.printStackTrace();}(5) 函数创建 generator: StreamString stream Stream.generate(()-a).limit(2);
generate方法接受一个参数方法参数类型为Supplier 由它为流提供值。generate生成的流也是无限流因此通过limit对流进行了截断。
iterator
StreamInteger iterateStream Stream.iterate(0, s - s 2).limit(3);iterate方法接受两个参数第一个为初始化值第二个为进行的函数操作因为iterator生成的流为无限流通过limit方法对流进行了截断只生成3个偶数。
2.操作Stream。 常用的Stream操作包括过滤、映射、排序、去重、计数、归约等等。 filter 过滤方法filter用于对Stream中的元素进行筛选只保留符合指定条件的元素如下
ListString list Arrays.asList(one,two,three);
StreamString stream list.stream().filter(s - s.length() 3);map使用map方法可以将流中的元素映射到另一个值。例如将一个字符串列表中的元素转换为大写
ListString names Arrays.asList(one,two,three);
ListString upperCaseNames names.stream().map(String::toUpperCase).collect(Collectors.toList());
sorted:使用sorted方法可以对流中的元素进行排序。例如对一个整数列表进行升序排序
ListInteger numbers Arrays.asList(1, 3, 5, 1, 7);
ListInteger sortedNumbers numbers.stream().sorted().collect(Collectors.toList());
distinct: distinct用于将Stream中的重复元素去除只保留一个:
ListInteger numbers Arrays.asList(2, 7, 1, 1, 7);
ListInteger sortedNumbers numbers.stream().distinct().collect(Collectors.toList());count: 计数方法count用于返回Stream中元素的数量返回值为long类型。
ListString list Arrays.asList(one,two,three);
long count list.stream().count();
reduce: reduce用于将Stream中的元素归约成一个值,例如求和、求最大值等。例如计算一个整数列表的总和:
ListInteger numbers Arrays.asList(1, 2, 3, 4, 5);
int sum numbers.stream().reduce(0, Integer::sum);
forEach: forEach方法用于对Stream中的每个元素执行指定的操作。
ListInteger list Arrays.asList(1, 2, 3, 4, 5);
list.stream().forEach(System.out::println);
collect使用collect方法可以将流中的元素收集到一个集合中。例如将一个字符串列表中的元素收集到一个新的列表中
ListString names Arrays.asList(one,two,three);
ListString collectedNames names.stream().collect(Collectors.toList());
总结 Stream是Java 8中非常重要的一个API本文详细介绍了Java Stream流的概念、使用方法。通过Stream流开发人员可以以声明式的方式对数据进行操作使代码更加简洁、易读。我们还介绍了Stream流的常用操作方法使用 通过充分利用Stream流的特性和优势开发人员可以编写更加优雅、高效的数据处理代码。