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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python精彩编程200例 pdf-Python程序设计 第3版pdf「建议收藏」

    Python程序设计第3版内容简介《Python程序设计第3版》是面向大学计算机科学专业的教材。本书以Python语言为工具,采用相当传统的方法,强调解决问题、设计和编程是计算机科学的核心技能。全书共13章,此外,还包含两个附录。第1章到第5章介绍计算机与程序、编写简单程序、数字计算、对象和图形、字符串处理等基础知识。第6章到第8章介绍函数、判断结构、循环结构和布尔值等话题。第9章到第1…

    2022年4月6日
    114
  • flash制作车轮转动的汽车沿着路径走的动画

    flash制作车轮转动的汽车沿着路径走的动画二维动画制作实验报告一.实验目的1.掌握动画的概念。2.熟练Flash的界面。3.掌握Flash界面中各组成元素和功能。二.实验工具    Flash三.实验要求制作车轮转动的汽车沿着路径走。四.实验内容1.搜索相关的素材,一个小汽车,将汽车的车轮和车身单独裁剪出来。2.首先,新建一个600×400的画布。将车轮和车身导入到库里。将车轮和车身拖入舞台,双击车轮进入编辑界面,在30帧新建关键帧,在中…

    2022年5月29日
    74
  • 谈谈怎么实现Oracle数据库分区表「建议收藏」

    谈谈怎么实现Oracle数据库分区表「建议收藏」Oracle数据库分区是作为Oracle数据库性能优化的一种重要的手段和方法,做手头的项目以前,只聆听过分区的大名,感觉特神秘,看见某某高手在讨论会上夸夸其谈时,真是骂自己学艺不精,最近作GPS方面的项目,处理的数据量达到了几十GB,为了满足系统的实时性要求,必须提高数据的查询效率,这样就必须通过分区,以解燃眉之急!先说说分区的好处吧!1) 增强可用性:如果表的某个分区出现故障,表在其他分

    2022年5月9日
    57
  • httprunner(5)编写测试用例

    httprunner(5)编写测试用例编写测试用例HttpRunnerv3.x支持三种测试用例格式pytest,YAML和JSON。官方强烈建议以pytest格式而不是以前的YAML/JSON格式编写和维护测试用例格式关系如下图所示

    2022年7月31日
    4
  • mshta进程「建议收藏」

    mshta进程「建议收藏」进程文件:mshta或者mshta.exe   进程名称:MicrosoftHTMLApplicationHost   描述:mshta.exe是微软Windows操作系统相关程序,用于执行.HTA文件。   出品者:MicrosoftCorp.   属于:MicrosoftWindowsOperatingSystem   系统进程:否   后…

    2022年7月15日
    16
  • GridSplitter

    GridSplitter

    2021年9月13日
    74

发表回复

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

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