「java集合stream」Java集合体系

博主:adminadmin 2022-11-28 12:49:07 58

本篇文章给大家谈谈java集合stream,以及Java集合体系对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中stream类有什么用?把集合转换为stream的用处是什么?

Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等。

java8的stream().mapToInt()什么意思?

Stream(流)是一个来自数据源的元素队列并支持聚合操作

strong元素队列 strong=""元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。

数据源 流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。

聚合操作 类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。

可以试试这个输出什么:

String[] strarr = {"abc", "defg", "vwxyz"};

int iSum = Arrays.stream(strarr)

.mapToInt(s - s.length())

.sum();

System.out.println("长度和: "+iSum);

扩展资料:

Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。

参考资料来源:百度百科-Java

java stream 及早求值

流使用的通用格式:

获得流对象Stream

对流对象Stream进行惰性求值,返回值仍然是一个Stream对象。

对流对象Stream进行及早求值,返回值不在是一个Stream对象。

java8中如何将多个集合的数据拼接成一个统一的流

java8中stream的提供了一个拼接流的方法Stream.concat,可以将两个stream拼接成一个stream, 保持了两个stream中的元素顺序。

那么如果我们需要对多个集合中的元素拼接成一个stream来统一处理,可以怎么做呢?

比如有三个CollectionString c1, c2, c3.

方法一,使用Stream.concat方法来拼接,可以使用一个for循环来处理。

private static StreamString concat1(ListCollectionString collections) {

Stream result = Stream.empty();

for (CollectionString strings : collections) {

              result = Stream.concat(result,  strings.stream());

}

return   result;

}

方法二,使用flatMap方法,将集合变成stream, 再压平

private static StreamString concat2(ListCollectionString collections) {

return  collections.stream()

           .flatMap(Collection::stream);

}

对于不同集合类型的数据,如何做成一个统一的流?还是可以使用flatMap方法来做

方法三:

private static StreamString concat3(ListString s1,String[] s2, SetString s3) {

return  Stream.of(s1.stream(), Arrays.stream(s2), s3.stream())

           .flatMap(Function.identity());

}

方法三和方法二相比,可以使用不同类型的集合类型来拼接流,方法二在拥有共同基类的情况下使用会显得简洁很多。

java集合stream的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java集合体系、java集合stream的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。