java中stream用法,Java中Stream流基本使用

这篇博客介绍了Java集合框架的使用,包括List和Map的筛选、映射操作,以及并行流处理。同时展示了如何利用filter进行多条件过滤,使用Collectors进行字符串连接,并通过IntSummaryStatistics进行数据统计。此外,还涉及了排序和比较操作。
摘要由CSDN通过智能技术生成

/** 原始数据 **/

List strList = Arrays.asList("a", "b", "c", "d");

List numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);

/** 筛选数据 filter**/

List aList = strList.stream().filter(s ->

"a".equals(s)

).collect(Collectors.toList());

aList.stream().forEach(System.out::println);

/** map 方法用于映射每个元素到对应的结果 **/

// 获取对应的平方数

List squaresList = numbers.stream().map( i -> i*i).distinct().collect(Collectors.toList());

squaresList.stream().forEach(System.out::println);

/** 并行处理 **/

squaresList.parallelStream().forEach(System.out::println);

/** filter里面写多个条件 **/

strList.stream().filter(s -> {

boolean notEmpty = false;

if (!s.isEmpty()) {

notEmpty = true;

}

return notEmpty;

}).collect(Collectors.toList()).forEach(System.out::print);

/** Collectors操作 **/

System.out.println(strList.stream().filter(s -> !s.isEmpty()).collect(Collectors.joining(",")));

System.out.println(strList.stream().filter(s -> !s.isEmpty()).collect(Collectors.joining()));

System.out.println(strList.stream().filter(s -> !s.isEmpty()).collect(Collectors.joining(",","pre","suf")));

/** 统计 **/

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());

/** 排序 **/

numbers.stream().sorted((a,b)->-a.compareTo(b)).forEach(System.out::print); //倒序

numbers.stream().sorted(Comparator.comparingInt(Integer::intValue)).forEach(System.out::print); //正序

numbers.stream().sorted().forEach(System.out::print); //默认正序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值