首页 > 编程语言 >java流Stream

java流Stream

时间:2022-12-27 18:23:08浏览次数:36  
标签:java Stream List 30 list list1 value add

有一个列表,从中筛选出值大于30的元素。看看用传统的做法和Java流的做法有什么不同。

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(20);
list.add(40);
list.add(100);        
// 按照以前的方法   
List<Integer> list1 = new LinkedList<>();     
for (Integer value : list) {       
    if (value > 30) {          
        list1.add(value);     
    }     
}     
System.out.println(list1);     
// 使用java流
// 详细讲解一下,后面我就偷懒了
// list.stream()就是先将集合处理一下,返回我们需要的流
// filter的方法就是这里帮我们筛选值大于30的方法
// 这里用的是lambda表达式,所以要先了解一下lambda表达式,
// filter(Predicate<? super T> predicate)方法的参数是Predicate类型,Predicate是一个函数式接口
// 当把数据筛选出来后,此时还需要把它变成List的集合,毕竟现在还只是流,不是我们要的
// 这时候就需要collect方法了,这就是我说的流收集器,其实不止可以转换成List,还有Collectors.toSet()和Collectors.toMap()
List<Integer> list2 = list.stream().filter(value -> {
    return value > 30;      
}).collect(Collectors.toList());   
System.out.println(list2);

 

标签:java,Stream,List,30,list,list1,value,add
From: https://www.cnblogs.com/h-w-b/p/17008700.html

相关文章

  • Java: ParameterizedType用法与简介(转载)
    转载地址:https://blog.csdn.net/sageyin/article/details/114701550https://www.cnblogs.com/baiqiantao/p/7460580.html......
  • Java同步器之辅助类Semaphore
    一、概述Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。二、使用案例可以用于做流量控制,特别是公用资源有限的应......
  • 严重漏洞攻击:影响PHP、Java和ASP.NET
    安全研究员AlexanderKlink和JulianWalde发现了一个严重的漏洞,这个漏洞影响到大多数网络服务器。针对这个漏洞的攻击只需要一个HTTP请求,这个特殊设定......
  • Java8中Optional类入门-替代null避免冗杂的非空校验
    场景Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127683387上面在讲Guava......
  • 程序员必须掌握的java进制转换(全网最详细讲解)
    前言在上一篇文章中,壹哥给大家讲了Java里的各种运算符。其中在讲解位运算符时,我给大家提到了计算机中进制的概念。但是现在很多小白同学,对进制的概念还不够了解,比如二进制......
  • java throws异常处理
        throws异常,程序不能继续执行,直接中断,要想程序继续执行,还必须用try...catch     ......
  • 跟光磊学Java-Windows版Java17开发环境搭建
    Java语言核心技术  如果想要开发Java程序/Java项目之前,必须要安装和配置JDK,这里的JDK表示Java17,不过下载软件的时候,强烈推荐大家一定要去软件的官网下载,因为官......
  • 跟光磊学Java-macOS版Java8开发环境搭建(基于ARM 64-bit)
    Java语言核心技术  日常办公和软件开发除了可以使用Windows系统以外,还可以使用macOS系统,至于具体使用什么系统取决于你入职公司之后公司给你发的什么电脑,如果是......
  • java编译异常和运行时异常
     运行时异常:   编译时异常:处理方案:try...catch() ......
  • 跟光磊学Java-Java概述
     Java语言核心技术  1.Java的发展简史现在人们谈论Java的时候,它所表示的含义发生了一些变化,Java不只是一门高级计算机语言,更是最流行的开发平台和运行平台......