Java8两大特性(一)——Stream
2019-10-16 17:08
225 查看
什么是Stream?
Stream(流)是一个来自数据源的元素队列并且支持聚合操作,元素流在管道中经过中间操作,最终操作得到结果。
数据源:集合,数组,I/O channel,产生器generator。
聚合操作:类似于sql比如:filter,find,map,match,sorted.
生成流:
-
stream() − 为集合创建串行流。
-
parallelStream() − 为集合创建并行流。
通过例子看方法:
list.stream().limit(10).sorted().forEach(System.out::println);
上面例子:取前10条》排序》循环输出
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
List<Integer> squaresList = numbers.stream().map( i -> i*i).distinct().collect(Collectors.toList());
上面例子:将本身映射成本身的平方》去重》转化为list
List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
String mergedString = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.joining(", "));
上面例子:过滤掉空字符串》用”,“分割并进行合并
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5); IntSummaryStatistics stats = numbers.stream().mapToInt((x) -> x).summaryStatistics();
System.out.println("列表中最大的数 : " + stats.getMax());
System.out.println("列表中最小的数 : " + stats.getMin());
System.out.println("所有数之和 : " + stats.getSum());
System.out.println("平均数 : " + stats.getAverage());
上面例子:利用到统计主要用于int ,double 等基本类型!
转化成基本类型》转换成统计类型》输出各种结果
相关文章推荐
- Java8新特性第3章(Stream API)
- Java8新特性第3章(Stream API)
- Java8新特性Stream API与Lambda表达式详解(2)
- Java8新特性 --Stream
- Java8 新特性之五---------参数名称和类型推断
- java8新特性介绍
- java8新特性之Optional类
- java8新特性——Stream接口
- 转: H264码流分析 --264分析两大利器:264VISA和Elecard StreamEye Tools
- java8新特性(2)-Stream
- Java 8新特性:新语法方法引用和Lambda表达式及全新的Stream API
- 《Java8 Stream介绍》
- SpringBoot 入门及两大特性分析
- Java8新特性-005-创建Stream
- JDK8 新特性(Lambda,forEach,Stream)
- Java8特性Stream
- java8,你应该了解的新特性(Stream API篇)
- Java8新特性-018-时区处理
- Java8中新增的Stream API
- 2019.7.24 Spring两大特性之一:IoC