java8使用filter()取出自己所需数据
作者:笨蛋的生活 发布时间:2023-04-07 02:30:37
标签:java8,filter,数据
使用filter()取出自己所需数据
java8的filter()方法是取出自己所需的数据,返回满足条件里的数据
person.java
package com.it.pojo;
import java.util.Comparator;
import java.util.Objects;
@Data
@NoArgsConstructor
@ToString
public class Person {
private String name;
private Integer age;
}
test.java
package com.it.test;
import java.util.ArrayList;
import java.util.List;
import com.it.pojo.Person;
import java.util.Comparator;
import java.util.stream.Collectors;
public class StreamTest {
public static void main(String[] args) {
Person person1 = new Person();
person1.setAge(21);
person1.setName("21");
Person person2 = new Person();
person2.setAge(19);
person2.setName("19");
Person person3 = new Person();
person3.setAge(19);
person3.setName("20");
Person person4 = new Person();
person4.setAge(20);
person4.setName("20");
Person person5 = new Person();
person5.setAge(19);
person5.setName("18");
List<Person> people = new ArrayList<>();
people.add(person1);
people.add(person2);
people.add(person3);
people.add(person4);
people.add(person5);
List<Person> collect1 = people.stream().filter((person) -> {
return person.getName().equals("18"); //取姓名是18的Person数据
}).collect(Collectors.toList());
System.out.println(collect1);
List<Person> collect2 = people.stream().filter((person) -> {
return person.getAge().intValue()==19 && person.getName().equals("19");
}).collect(Collectors.toList());
System.out.println(collect2);
List<Person> collect = people.stream().filter(person ->
person.getName().equals("181") //测试不满足条件的list集合会是什么样的
).collect(Collectors.toList());
System.out.println(collect); //集合size==0
if(collect.size()==0){
System.out.println("nihao");
}
}
}
结果
java8 filter使用心得
如果A集合元素数量10个,filter满足条件为5个,没有赋值新集合,那么A还是原来的10个,如果赋值给B集合,B集合为5个;
如果A集合10个,filter满足条件为5个,赋值给B集合,遍历B集合,对这5个元素进行了修改,那么A集合中的5个元素也会同时修改。
来源:https://blog.csdn.net/dsl59741/article/details/112240948


猜你喜欢
- 最近开发项目中,有个在屏幕上任意拖动的悬浮窗功能,其实就是利用 WindowManager的api来完成这个需求,具体的实现的功能如下:1.
- 一、Future 接口当 call()方法完成时,结果必须存储在主线程已知的对象中,以便主线程可以知道该线程返回的结果。为此,可以使用 Fu
- 本文实例讲述了Android实现捕获TextView超链接的方法。分享给大家供大家参考,具体如下:这里分享一篇捕获TextView超链接的文
- 因为线程重用导致的信息错乱的bugThreadLocal一般用于线程间的数据隔离,通过将数据缓存在ThreadLocal中,可以极大的提升性
- 前言 前一段时间得闲的时候优化了一下我之前的轮子[DotNetCoreRpc]小框架,其中主要
- 前言在开发中,或多或少会使用唤醒锁(wake lock),有的是为了保持屏幕长亮,有的是为了保持 CPU 运行。唤醒锁的本质,其实是对屏幕状
- 引言第一眼看到这个题目,我相信大家都会脑子里面弹出来一个想法:这不都是 Spring 的注解么,加了这两个注解的类都会被最终封装成 Bean
- Java为什么不浪(long)学而时习之不亦说乎,继续温习Java。今天使用switch时,不小心写了如下代码,报错如下。 public s
- 本文总结分析了Android7.0版本影响开发的改进。分享给大家供大家参考,具体如下:低电耗模式会对闹铃、GPS 和 Wi-Fi 扫描 产生
- 应用场景最近社区总有人发文章带上小广告,严重影响社区氛围,好气!对于这种类型的用户,就该永久拉黑!社区的安全框架使用了 spring-sec
- 本文较为详细的分析了vc提示unexpected end of file found的原因。分享给大家供大家参考。具体分析如下:预编译出错,
- 1. 对图片本身进行操作尽量不要使用 setImageBitmap、setImageResource、 BitmapFactory.deco
- * 在JavaWeb开发中用得比较多Java Web开发中的 * (listener)就是application、session、requ
- 一、点睛邻接矩阵通常采用一个一维数组存储图中节点的信息,采用一个二维数组存储图中节点之间的邻接关系。邻接矩阵可以用来表示无向图、有向图和网。
- 前言本文主要给大家介绍了关于C#基础之Attribute和反射的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。A
- 环境准备创建 Maven 项目创建服务器远程连接Tools------Delployment-----Browse Remote Host设
- 作为一个合格的开发人员,对项目进行管理自然必不可少。今天就给各位看客介绍一下如何用git将自己的AS项目上传到码云。
- Android 开发中Volley详解及实例最近在做项目的时候,各种get和post。简直要疯了,我这种啥都不了解的,不知道咋办了,然后百度
- 目录1. SpringCloud特点2. 分布式系统的三个指标CAP3. Eureka4. SpringCloud Demo4.1 regi
- kafka是什么?Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式