Java - stream流

一.基本介绍

在Java 8 中, 集合接口有两个方法来生成流:

stream() − 为集合创建串行流 - (线程是安全的)
parallelStream() − 为集合创建并行流 - (底层是多线程处理,线程不安全(可以解决),数据量大业务复杂使用)

二.基本使用

使用示例:
数据:        List<Integer> list= Arrays.asList(1, 2, 3, 4, 5, 6);
使用:        List<Integer> list1 = list.stream().filter( i -> i < 4 ).collect(Collectors.toList());

list                  // 列表数据
.stream()        // 生成流(然后开始对数据进行操作)
.filter()            // 中间操作(对数据 去 重复/筛选 等操作)
.collect()         // 终端操作(终止流,对数据进行最终 统计/查找/获取最大值 等操作)

1.常用中间操作

过滤                       filter()
去重                      distinct()            -> list.stream().distinct()
返回指定个数         limit()                -> list.stream().limit(2)
跳过元素                skip()                -> list.stream().skip(2)
流映射                    map()               -> list.stream().map(String::toUpperCase)
匹配所有                allMatch()         -> list.stream().allMatch(i -> i > 3) -> (返回 boolean)
匹配其中一个         anyMatch()       -> 返回 boolean
全部不匹配             noneMatch()     -> 返回 boolean

2.常用终端操作

返回 列表( List ):                     list.stream().filter( i -> i < 4 ).collect(Collectors.toList())
返回 集合( Set ):                     list.stream().filter( i -> i < 4 ).collect(Collectors.toSet())
统计:                                       list.stream().count()
查找( findFirst() / findAny() ):  list.stream().filter(i -> i > 3).findFirst()
forEach()遍历:                        list.stream().filter( i -> i < 4 ).forEach(System.out::println);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值