Java8使⽤stream().filter()过滤List对象(查符合条件的对象集合) List<User> users =new ArrayList<>();
User user =new User();
user.setName("maoliang");
user.setAge(25);
users.add(user);
User user2 =new User();
user2.setName("shaungshuang");
user2.setAge(23);
users.add(user2);
users.forEach(System.out::println);
User(name=maoliang, age=25)
User(name=shaungshuang, age=23)
users.stream().filter(user1 -> Age()>24).forEach(System.out::println);
User(name=maoliang, age=25)
Java集合Stream类filter的使⽤
public static void main(String[] args)throws Exception {
List<User> users =new ArrayList<>();
User user =new User();
user.setName("maoliang");
user.setAge(25);
user.setAge(0);
user.setSex("⼥");
users.add(user);
User user2 =new User();
user2.setName("shaungshuang");
user2.setAge(23);
user2.setSex("男");
users.add(user2);
User user3 =new User();
user3.setName("asdfasd");
user3.setAge(22);
user3.setSex("男");
users.add(user3);
/
/ 流
Stream<User> userStream = users.stream().filter(new Predicate<User>(){
@Override
public boolean test(User user){
return"男".Sex());// 只保留男性
}
});
users = List());// 将stream转化为list
users.forEach(System.out::println);
}
输出:
User(name=shaungshuang, age=23, sex=男)
User(name=asdfasd, age=22, sex=男)
lambda表达式:
// 流
Stream<User> userStream = users.stream().filter(user222->"男".Sex()));// 只保留男性
users = List());
System.out.String());
输出:
[User(name=shaungshuang, age=23, sex=男), User(name=asdfasd, age=22, sex=男)]
查集合中的第⼀个对象:
// 查集合中的第⼀个对象
Optional<User> firstUser = users.stream().filter(u ->"shaungshuang".Name())).findFirst();
if(firstUser.isPresent()){java stream
User user1 = ();
System.out.println("user1========"+user1);
}
System.out.println("firstUser=========="+firstUser);
如果有,则输出:
user1----------User(name=shaungshuang, age=22, sex=男)
firstUser-------Optional[User(name=shaungshuang, age=22, sex=男)]
如果没有,则输出:
firstUser==========pty
返回集合:
// 返回集合
List<User> users1 = users.stream().filter(u ->"shaungshang".Name())).List()); users1.forEach(System.out::println);
输出:
User(name=shaungshang, age=23, sex=男)
User(name=shaungshang, age=22, sex=男)
抽取对象中所有的name的集合:
List<String> names = users.stream().map(User::getName).List());
names.forEach(System.out::println);
输出:
maoliang
shaungshang
shaungshang
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论