首页 > 其他分享 >stream().filter()的用法

stream().filter()的用法

时间:2023-06-13 13:03:00浏览次数:32  
标签:stream list 用法 filter user 集合 User

stream().filter()的用法
平时我们会经常看到stream().filter()的方式去查询数据
stream.filter一般适用于list集合,主要作用就是模拟sql查询,从集合中查询想要的数据。filter里面的参数user是指集合里面的每一项
我们来一个简单的示例就能看懂他的用法了
public class StreamTest{
public static void main(String[] args){
List<User> list = new ArrayList<>();
//定义三个用户对象
User user1 = new User();
user1.setUsername("huxiansen");
user1.setPassword("123456");
User user2 = new User();
user2.setUsername("huxianseng");
user2.setPassword("123456");
User user3 = new User();
user3.setUsername("huxiansen");
user3.setPassword("12345");
//添加用户到集合中
list.add(user1);
list.add(user2);
list.add(user3);

//在集合中查询用户名为huxiansen的集合
List<User> userList = list.stream().filter(user -> "huxiansen".equals(user.getUsername())).collect(Collectors.toList());
//在集合中查询出第一个用户密码为123456的用户
Optional<User> user = list.stream().filter(userTemp -> "123456".equals(userTemp.getPassword())).findFirst();

System.out.println(userList);
System.out.println(user);
 

标签:stream,list,用法,filter,user,集合,User
From: https://blog.51cto.com/u_16111396/6468995

相关文章

  • 关于iotop-磁盘IO分析工具的非交互式的用法
    对于iotop命令,默认同top命令模式一样,是交互式模式,实时输出如果我们需要输出到日志文件中,进行分析,可能更多的情况是是需要使用非交互式模式刚好iotop命令,可以使用-b选项,进行非交互模式,然后每隔一秒输出一次所有进程-线程对磁盘IO的使用情况关于iotop命令的先项,本文以在RedHatE......
  • 一张图快速了解 Istio 的 EnvoyFilter
    EnvoyFilter简介EnvoyFilter提供了一种机制来定制IstioPilot生成的Envoy配置。使用EnvoyFilter修改某些字段的值,添加特定的过滤器,甚至添加全新的侦听器、集群等等。这个功能必须谨慎使用,因为不正确的配置可能会破坏整个网格的稳定性。与其他Istio网络对象不同,EnvoyFil......
  • C++面试八股文:static和const的关键字有哪些用法?
    C++面试八股文:static和const的关键字有哪些用法?某日二师兄参加XXX科技公司的C++工程师开发岗位第7面:面试官:C++中,static和const的关键字有哪些用法?二师兄:satic关键字主要用在以下三个方面:1.用在全局作用域,修饰的变量或者函数为静态的,限制在本文件内使用。2.方法内修饰修饰静......
  • python中zip的用法
     001、>>>a=[1,2,3]>>>b=[4,5,6]>>>c=[7,8,9,10,11]##测试列表>>>list(zip(a,b))[(1,4),(2,5),(3,6)]>>>list(zip(a,c))##返回列表元祖[(1,7),(2,8),(3,9)]  002、>>......
  • 什么是HLS(HTTP Live Streaming)?
    HLSEasyTech#013#2009年,Apple推出了HLS(HTTPLiveStreaming)——基于HTTP的自适应码率流媒体传输协议。HLS描述了一组通过互联网提供音视频服务的工具和程序。一个视频可以被分割成多个视频切片,这些切片的传送位置和顺序在一组被称为播放列表的XML文件中,该文件以文件扩展名m3u8结尾......
  • java的`pageContext`对象`attributes`的属性用法和原理
    在Java中,pageContext.setAttribute("name","liulongteng",SESSION)方法用于在页面上下文(pageContext)中设置属性。属性名为"name",属性值为"liulongteng",并且属性的作用范围为SESSION(会话级别)。在JSP中,页面上下文对象(pageContext)是一个重要的对象,它提供了对其他域(如请求、会......
  • 6、Stream
    1、介绍目的:用于简化集合和数组操作的API,结合了Lambda表达式Stream流思想的核心先得到集合或者数组的Stream流(就是一根传送带)把元素放上去然后就用这个Stream流简化的API来方便的操作元素List<String>names=newArrayList<>();Collections.addAll(names,"......
  • MySQL闪回工具简介 及 binlog2sql工具用法
    一、闪回工具简介1.工具分类第一类以patch形式集成到官方工具mysqlbinlog中优点上手成本低。mysqlbinlog原有的选项都能直接利用,只是多加了一个闪回选项,未来有可能被官方收录。支持离线解析。缺点兼容性差、项目活跃度不高。难以添加新功能,实战效果欠佳。安装麻烦。需要对m......
  • python的shell用法
    python的shell用法python[-bBdEhiIOqsSuvVWx?][-ccommand|-mmodule-name|script|-][args]Python-mpython-mmodule名args检索对应的模块名去执行,对于一个普通的模块,可能下面两种写法实际上是等效的:python-mtestpythontest.py两种写法都是将对应的py文......
  • Magick.NET跨平台压缩图片的用法
    //首先NuGet安装:Magick.NET.Core,Magick.NET-Q16-AnyCPUusingImageMagick;///<summary>///压缩图片///</summary>///<paramname="imageData">图片字节流</param>///<paramname="maxWidth"&......