public static <T,​A,​R> Collector<T,​?,​R> filtering​(Predicate<? super T> predicate, Collector<? super T,​A,​R> downstream)

简单理解该方法的作用就是先对元素进行给定条件(第一个参数)的过滤,过滤后再对结果集进行转换(第二个参数)。

示例:

void test21() {

List<Integer> list = List.of(2,5,8,9,4,20,11,43,55);

List filterList = list.stream().collect(Collectors.filtering(a -> a>20, Collectors.toList()));

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

}

根据官网介绍,该方法一般配合groupingBy和partitioningBy去使用,官网示例:

Map<Department, Set<Employee>> wellPaidEmployeesByDepartment = employees.stream().collect(

groupingBy(Employee::getDepartment, filtering(e -> e.getSalary() > 2000, toSet())));

以上代码简单理解,先使用groupingBy第一参数计算结果对元素进行分组,第一参数结果数据作为Map中的key,然后对分组结果进行filtering操作,filtering第一个参数是过滤条件,第二参数把过滤后结果数据保存的在Set中

最后把这个Set作为value保存在上面Map中。

Stream Collectors - filtering相关推荐

  1. java8 group by_java8新特性Java 8 – Stream Collectors groupingBy 示例 - Java教程

    在这篇教程中,将向你展示如何使用Java 8 Stream的Collectors,来对一个List进行分组,计算个数,求和以及排序. 1. Group By, Count and Sort 1.1 对 ...

  2. java 流计算_Java 流收集器 ( Stream Collectors ) ( 一 ) - 统计计算

    首先需要声明的是,我的开发语言是 PHP,但我对所有语言都懂一点点,然后很多文章,都是看到某个知识点就想写些什么 刚刚再浏览某些文章的时候看到 Java 的流收集器 ( Stream Collecto ...

  3. java8 stream collectors.joining

    java8 stream collectors.joining 为承接另一篇关于Stream介绍的文章,本文将详细讲讲Java 8流(stream)收集器(Collectors)中的joining() ...

  4. 【苹果iMessage推送家庭推】苹果位置推导入Java入口java.util.stream.collectors; tmpmaclist

    推荐内容IMESSGAE相关 作者✈️@IMEAE推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者✈️@IMEAE推荐内容 1.家庭推内容 *** 点击即可查看作者要求 ...

  5. Java8 Stream Collectors groupingBy使用

    分组List并显示其总数. @Test public void test8() {//3 apple, 2 banana, others 1List<String> items =Arra ...

  6. Java Stream Collectors.groupingBy()实现分组(单字段分组,多字段分组)

    1 User实体类 public class User {private Long userId;/*** 用户名(登录)*/private String username;/*** 年龄*/priv ...

  7. java stream Collectors

    实现了Interface Collector提供了存放元素的容易 Collectors.toList() Collectors.toSet() Collectors.toMap Collectors. ...

  8. Stream Collectors - joining

    public static Collector<CharSequence,​?,​String> joining() 简单地说就是把元素连接起来,看一个例子: void test25() ...

  9. Java 9 揭秘(18. Streams API 更新)

    Tips 做一个终身学习的人. 在本章中,主要介绍以下内容: 在Stream接口中添加了更加便利的方法来处理流 在Collectors类中添加了新的收集器(collectors) JDK 9中,在St ...

  10. Stream流与Lambda表达式(三) 静态工厂类Collectors

    /*** @author 陈杨*/@SpringBootTest @RunWith(SpringRunner.class) public class CollectorsDetail {private ...

最新文章

  1. 并发编程-26 高并发处理手段之服务降级与服务熔断 + 数据库切库分库分表
  2. 聊聊Java的泛型及实现
  3. Python 提取数据库(Postgresql)并邮件发送
  4. python 进程和线程
  5. adb native raact 夜神_React-Native安装及环境搭建(夜神模拟机运行)
  6. “类云”的存储服务什么样?Pure Storage发布Pure Fusion等系列新品
  7. python多进程运行死机_python多进程假死
  8. Spring(三)Bean继续入门
  9. 计算机二级C++知识点归纳之公共基础
  10. 雅虎新频道Buzz截图,Digg竞争者?
  11. C语言——深度剖析数据在内存中的存储
  12. EventBus实现原理
  13. 游戏图片文件和声音文件的隐藏
  14. 家居装修知识 装修注意事项需牢记
  15. 系统中的DTO与MO
  16. gta4 oracle_GTA4车辆与现实车辆名字对照
  17. Android 10 去掉系统默认谷歌输入法
  18. nyoj 1036非洲小孩
  19. 【博客465】BGP(边界网关协议)-----BGP路由黑洞及路由反射器与联盟
  20. 你要去做一个大人,不要回头,不要难过

热门文章

  1. 工业相机——感光元件尺寸介绍
  2. 关于S参数的一些理解
  3. RC电路 波形分析
  4. 线行代数的本质-通俗易懂的讲解
  5. 图片云存储服务商在阿里云和又拍云之间如何选择?
  6. 搭建Springboot单体项目
  7. 【Android】_干货_制作透明背景icon
  8. matlab 变量的定义变量名称,matlab定义变量名
  9. shiro权限框架中五张基本数据表
  10. 关于H.264 profile-level-id