参考链接: 如何在Java 8中打印Stream的元素

单元测试:

@Test

public void Test02(){

// 源

ArrayList<Integer> IdsSour = new ArrayList<>();

IdsSour.add(5);

IdsSour.add(1);

IdsSour.add(3);

IdsSour.add(2);

IdsSour.add(6);

IdsSour.add(4);

// 目标

List<Integer> IdsDes = new ArrayList<>();

System.out.println("============移除 4 ============");

IdsDes = (ArrayList<Integer>) IdsSour.stream().filter(id->id!=4).collect(Collectors.toList());

for (Integer id : IdsDes) {

System.out.println(id);

}

System.out.println("============移除 4 5 6============\n\n");

int[] ids = new int[]{4,5,6};

//按ID的 大小 从大到小 逆序 排列

IdsDes = (List<Integer>) IdsSour.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());

for(int i = 0 ;i < ids.length ; i++){

int ret = ids[i];

//filter的写法 比 直接if判断再remove要含蓄的多,看起来舒服,但是效率不见得有for循环快

IdsDes = (ArrayList<Integer>) IdsDes.stream().filter(id->id!=ret).collect(Collectors.toList());

System.out.println("+++++++++++++++++第"+(i+1)+"次过滤后");

for (Integer id : IdsDes) {

System.out.println(id);

}

}

System.out.println("==================================");

//最后 按自然排序【默认】打印出IDsDes的内容

//先sorted再foreach --  简单优雅 -- 优雅的背后 必定会有牺牲

IdsDes.stream().sorted().collect(Collectors.toList()).forEach(id->System.out.println(id));

}

运行效果:

[转载] Java8新特新--Stream语法应用在ArrayList的元素移除和排序相关推荐

  1. java8 stream遍历_Java8新特性:Stream流详解

    1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...

  2. Java8新特性:Stream详细使用

    目录 一.简介 二.创建Stream的常用方法 2.1 使用Stream中的静态方法:of().iterate().generate() 2.2 使用Collection下的 stream() 和 p ...

  3. Java8 Stream 语法详解 用法实例

    本文将会详细讲解Stream的使用方法(不会涉及Stream的原理,因为这个系列的文章还是一个快速学习如何使用的). 1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A ...

  4. Java8初体验(二)Stream语法详解(转)

    本文转自http://ifeve.com/stream/ Java8初体验(二)Stream语法详解 感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com 上篇文章Java8初体验( ...

  5. java8 Stream语法详解

    些Stream的例子可能让你产生疑惑,本文将会详细讲解Stream的使用方法(不会涉及Stream的原理,因为这个系列的文章还是一个快速学习如何使用的). 1. Stream初体验 我们先来看看Jav ...

  6. java stream byte_乐字节-Java8新特性之Stream流(上)

    上一篇文章,小乐给大家介绍了<Java8新特性之方法引用>,下面接下来小乐将会给大家介绍Java8新特性之Stream,称之为流,本篇文章为上半部分. 1.什么是流? Java Se中对于 ...

  7. java8 stream 做累加_Java8新特性之Stream(上)|乐字节

    上次给大家介绍了Java8新特性之方法引用,大家可以点击回顾下.接下来小乐继续给大家带来Java8新特性之Stream ,流是Java8最重要的内容,小乐准备分上下两部分介绍,今天是上部. 5.1.什 ...

  8. 使用Java8新特性(stream流、Lambda表达式)实现多个List 的笛卡尔乘积 返回需要的List<JavaBean>

    需求分析: 有两个Long类型的集合 : List<Long> tagsIds; List<Long> attributesIds; 现在需要将这两个Long类型的集合进行组合 ...

  9. 【java8新特性】——Stream API详解(二)

    一.简介 java8新添加了一个特性:流Stream.Stream让开发者能够以一种声明的方式处理数据源(集合.数组等),它专注于对数据源进行各种高效的聚合操作(aggregate operation ...

最新文章

  1. JUC并发编程九 并发架构--循环打印
  2. D3可视化:(1)初次见面,SVG与D3的魅力
  3. Collecting package metadata (current_repodata.json): done Solving environment: failed with repodata
  4. 使用Travis-CI的SpringBoot应用程序的CI / CD
  5. git 图形化工具 GitKraken 的使用 —— 分支的创建与合并
  6. mysql left a 10_MySQL基础总结,认真看完这篇就够了!!!
  7. jira 6.X或confluence5.X linux/centos/ubuntu下设置开启启动
  8. 2021年,产品需求文档PRD模板
  9. 支架预压弹性变形值计算_支架预压计算.doc
  10. Linux虚拟机挂载新的硬盘
  11. 互联网晚报 | 9月9日 星期四 | 8个电竞项目入选杭州亚运会;联想TruScale正式发布;国民养老保险公司获批筹建...
  12. JDBC深入浅出-jdbc学习笔记【入门到精通】
  13. volatile 与诡异事件
  14. 【毕业季】在校生怎么看待毕业季?
  15. 游戏服务器编程-iocp及封包处理
  16. Hutool工具生成二维码
  17. 13. 线性动态电路的复频域分析
  18. 生成全排列算法的实现(Johnson-Trotter)
  19. Pytorch(gpu),cuda,cudnn安装
  20. typedef——用法总结

热门文章

  1. 【C语言简介】C语言的前世今生
  2. css不继承父类样式_提升你的Python编程能力,细说类的继承,拿走不谢
  3. base cap 分布式_干货分享:基于本地消息表的分布式事务解决方案总结
  4. 现代php中文版,现代PHP
  5. checkbox wpf 改变框的大小_【论文阅读】倾斜目标范围框(标注)的终极方案
  6. Python拾遗1:collections、itertools和内存io
  7. Shell脚本多行换行报错:- unrecognized arguments- \
  8. java biginteger 比较大小,java – 打印非常大的BigIntegers
  9. 完成数独的算法 python_python实现数独算法实例
  10. python 命名空间冲突_python-命名空间