java8 常用的流操作 stream collect map filter flatMap max min reduce

java8 常用的流操作 stream collect map filter flatMap max min reducejava8常用的流操作streamcollectmapfilterflatMapmaxminreduce1 collect(toList())collect(toList())方法由Stream里的值生成一个列表,是一个及早求值操作。//Stream的of方法使用一组初始值生成新的StreamList<String&g…

大家好,又见面了,我是你们的朋友全栈君。

                  java8 常用的流操作 stream collect map filter flatMap max min reduce

1 collect(toList())
collect(toList()) 方法由Stream 里的值生成一个列表,是一个及早求值操作。

//Stream的of方法使用一组初始值生成新的Stream
List<String> stream = Stream.of("a", "b", "c").collect(Collectors.toList());
System.out.println(stream);

2 map 的作用
如果有一个函数可以将一种类型的值转换成另外一种类型,map 操作就可以使用该函数,将一个流中的值转换成一个新的流。

//使用map操作将字符串转换为大写形式
List<String> map = Stream.of("a", "ab", "abc").map(String::toUpperCase).collect(Collectors.toList());
System.out.println(map);

3 filter
遍历数据并检查其中的元素时,可尝试使用Stream 中提供的新方法filter。

//遍历出长度大于2的字符串
List<String> filter = Stream.of("a", "ab", "abc").filter(value -> value.length() > 2).collect(Collectors.toList());
System.out.println(filter);

4 flatMap
flatMap 方法可用Stream替换值,然后将多个Stream连接成一个Stream。

//合并多个列表的流
List<String> flatMap = Stream.of(Arrays.asList("a", "b"), Arrays.asList("c", "d"))
		.flatMap(List::stream)
		.collect(Collectors.toList());
System.out.println(flatMap);

5 max和min
Stream 上常用的操作之一是求最大值和最小值。Stream API中的max和min操作足以解决这一问题。

String shortest = Arrays.asList("a", "ab", "abc").stream().min(Comparator.comparing(String::length)).get();
System.out.println(shortest);

6 reduce
reduce操作可以实现从一组值中生成一个值。

int count = Stream.of(1, 2, 3).reduce(0, (acc, element) -> acc + element);
System.out.println(count);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135899.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java遍历取出Map集合key-value数据的4种方法

    Java遍历取出Map集合key-value数据的4种方法将map集合存数据与取出数据全部放在一个类MapTest中,方便阅读与查看随便创建一个包,在包中新建一个class文件,(也可以不建包,直接新建一个class文件)新建class文件MapTest.java,代码如下:importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importjava.util…

    2022年5月30日
    77
  • string转map_jsjson转string

    string转map_jsjson转string例如:varr=”{‘msg’:’你好’}”;varmap=eval(“(“+r+”)”);//r为String类型的数据varxx=map.msg;//此时xx的值为你好

    2022年9月10日
    0
  • 带通滤波器电路图设计(转)

    带通滤波器电路图设计(转)转自:http://www.elecfans.com/dianlutu/187/20180224638878_a.html带通滤波器电路图设计(一)传统的带通滤波器设计方法中涉及了很多复杂的理论分析和计算。针对上述缺点,介绍一种使用EDA软件进行带通滤波器的设计方案,详细阐述了使用FilterPro软件进行有源带通滤波器电路的设计步骤,然后给出了在Proteus中对所设计的滤波器进行仿真分析和测试的方法。测试结果表明,使用该方法设计的带通滤波器具有性能稳定。设计难度小等优点,也为滤波器的设计提供了一个

    2022年5月29日
    38
  • python矩阵转置与zip(*)的使用

    python矩阵转置与zip(*)的使用Python中的矩阵转置方法有如下几种:使用双重循环做(最直接,最本质的方法)importrandomrow=3column=4array=[[random.randint(0,10)for_inrange(column)]for_inrange(row)]print(“砸门先随机创建一个呗:”,array)res=[]foriinrange(column):tmp=[]forjinrange(row):tmp.

    2022年6月2日
    48
  • sql is not null 优化(oracle语句索引优化)

    oracle优化:ISNULL的优化优化方法:通过nvl(字段i,j),将字段i中为空的数据转化为j,从而将条件iisnull转化为j=nvl(i,j);转化isnull在所用oracle版本提升明显,注意:使用时必须确保字段i的数据不包含j!函数介绍:nvl(a,b,c,…)当a为空时取b,当b为空取c,以此类推.优化示例select*fromtab_i…

    2022年4月17日
    575
  • 装饰设计模式

    装饰设计模式就是对已有的对象的功能进行增强简单小例子:我们考虑一下使用继承也可以对父类中的功能进行增强只需要调用super就可以调用父类的方法,那使用装饰和继承有什么区别?使用继承体系就会有点臃肿

    2021年12月22日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号