Java8 Stream 使用
Stream 一般配合List 使用
常见的使用方法和程序运行结果都在下面
private static void test1() {List<Integer> integers = Arrays.asList(1, 2, 3, 4, 5);List<Integer> collect = integers.stream().skip(1).collect(Collectors.toList());collect.forEach(System.out::println);//打印信息//2//3//4//5}private static void test2() {List<Integer> integers = Arrays.asList(1, 2, 3, 4, 5);List<Integer> collect = integers.stream().filter(integer -> integer > 2).collect(Collectors.toList());collect.stream().forEach(System.out::println);//打印信息//3//4//5}private static void test3() {List<Integer> integers = Arrays.asList(1, 2, 3, 4, 5);System.out.println(integers.stream().anyMatch(integer -> integer > 2));//打印信息//true}private static void test4() {List<Integer> integers = Arrays.asList(9, 1, 2, 3, 4, 5);int max = integers.stream().max(Comparator.comparingInt(x -> x)).get();int min = integers.stream().min(Comparator.comparingInt(x -> x)).get();System.out.println(max);System.out.println(min);//打印信息//9//1}private static void test5() {List<Integer> integers = Arrays.asList(9, 1, 2, 3, 4, 5);int count = (int) integers.stream().count();System.out.println(count);//打印信息//6}private static void test6() {List<Integer> integers = Arrays.asList(9, 1, 2);
// int total = integers.stream().reduce((integer, integer2) -> integer + integer2).get();int total = integers.stream().reduce(Integer::sum).get();System.out.println(total);//打印信息//12}private static void test7() {List<Integer> integers = Arrays.asList(9, 1, 2, 3, 4, 5);integers.stream().map((i)-> i + "*").collect(Collectors.toList()).forEach(System.out::println);//打印信息//9*//1*//2*//3*//4*//5*}private static void test8() {List<Integer> integers = Arrays.asList(9, 1, 2, 3, 4, 5);integers.stream().flatMap((Function<Integer, Stream<String>>) integer -> Stream.of(integer + "#")).collect(Collectors.toList()).forEach(System.out::println);//打印信息//9#//1#//2#//3#//4#//5#}private static void test9() {List<Integer> integers = Arrays.asList(9, 1, 2, 3, 4, 5);integers.stream().sorted(Comparator.comparingInt(x -> x)).forEach(System.out::println);//打印信息//1//2//3//4//5//9}private static void test10() {List<Integer> integers = Arrays.asList(1, 1, 2, 2, 3, 5);integers.stream().distinct().sorted(Comparator.comparingInt(x -> x)).forEach(System.out::println);//打印信息//1//2//3//5}private static void test11() {List<Integer> integers = Arrays.asList(1, 1, 2, 2, 3, 5);System.out.println(integers.stream().map(x -> x + "").collect(Collectors.joining("|")));//打印信息//1|1|2|2|3|5}private static void test12() {List<Integer> integers = Arrays.asList(1, 5);System.out.println(integers.stream().collect(Collectors.averagingInt(x -> x)));//打印信息//3.0}
Java8 Stream 使用相关推荐
- JAVA8 Stream方法使用详解reduce、IntStream(二)
文章目录 一 归约 1.元素求和 2.最大值和最小值 二.数值流 1.映射数值流 2.转换对象流 3.数值范围 三.构建流 1.由值创建流 2.由数组创建流 3.由文件生成流 4.由函数生成流 此章节 ...
- 怎么break java8 stream的foreach
文章目录 简介 使用Spliterator 自定义forEach方法 总结 怎么break java8 stream的foreach 简介 我们通常需要在java stream中遍历处理里面的数据,其 ...
- java8 stream案例分析
java8 stream Stream是java8 推出的一个处理集合类的一个全新的接口,在工作当中经常用到,并且他的预发规则与我们平台的有一点不一样,是流式的处理,非常类似RXJava的一个风格. ...
- java多字段排序,java8 stream多字段排序的实现
很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理 使用java8新特性,下面先来点基础的 List list; 代表某集合 //返回 对象集合以类属性一 ...
- 简洁又快速地处理集合——Java8 Stream(下)
上一篇文章我讲解 Stream 流的基本原理,以及它与集合的区别关系,讲了那么多抽象的,本篇文章我们开始实战,讲解流的各个方法以及各种操作 没有看过上篇文章的可以先点击进去学习一下 简洁又快速地处理集 ...
- Java8 stream().map()将对象转换为其他对象
Java8 stream().map()将对象转换为其他对象 1: 将对象List转为List public class user{private String name;private String ...
- java8 Stream的实现原理 (从零开始实现一个stream流)
1.Stream 流的介绍 1.1 java8 stream介绍 java8新增了stream流的特性,能够让用户以函数式的方式.更为简单的操纵集合等数据结构,并实现了用户无感知的并行计算. 1.2 ...
- java sort 效率_性能对比:collections.sort vs treeSet sort vs java8 stream.sorted
0 写在前面的话 在项目中有一个排序问题,考虑到未来需要排序的数据量可能很大,想用一个性能较好的排序算法,现在有三套解决方法:jdk提供的集合的sort方法(Collections.sort).一个可 ...
- Java基础学习总结(132)——Java8 Stream流操作学习总结
传统的数据处理都是用循环来解决,而不是像搜索数据库那样有具体的搜索语句,而Java8的Stream提供了很好的方案,往往一行就搞定了,而且Stream还可以链式操作,一行代码实现多个循环的功能,代码风 ...
- java8 stream().map().collect()用法
java8 stream().map().collect()用法 有一个集合: List<User> users = getList(); //从数据库查询的用户集合 现在想获取User的 ...
最新文章
- 计算机视觉行业迎来大发展,多角度解读未来前景
- 100行的python作品详解_不到 100 行 Python 代码徐峥变葛优
- httpclient发起https请求以及获取https返回内容
- MySQL LIST分区(转载)
- 如果你需要在 XHTML 中声明 DOCTYPE,必须使用到jsp:text动作元素
- 参会指南丨3分钟带你玩转2019数据技术嘉年华!
- matlab去趋势,[转载]使用Matlab对数据进行去趋势(detrend)
- 字符串模式匹配(bf+KMP)
- canoco5冗余分析步骤_基因富集分析|理解
- 数据结构课程设计之学生宿舍信息管理系统
- mac monterey、big sur、Catalina原生heic、jpg壁纸,并将壁纸拷贝到系统文件夹下教程
- mac brew 启动服务时报错“Bootstrap failed: 5: Input/output error”
- 《柴静:穹顶之下》中用到的数据可视化
- 鸿蒙杀戮手机电脑版,鸿蒙杀戮单职业
- 超实用!轻松几步修复灰蒙蒙的情侣合照!
- 逆水寒能不能网页预约服务器,不是说《逆水寒》凉了吗,为什么新服预约不到1小时就满了?...
- CentOS 7 网络配置
- 利用cmd命令创建vue项目
- 《计算机应用基础》第04章在线测试,《计算机应用基础》在线测试.doc
- yum出现Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile解决方法