java8的stream系列教程之filter过滤集合的一些属性

贴代码

  1. List<Student> lists = new ArrayList<>();
  2. Student student = new Student();
  3. student.setName("laoli");
  4. student.setNumber(1);
  5. lists.add(student);
  6. Student student1 = new Student();
  7. student1.setName("erzi");
  8. student1.setNumber(2);
  9. lists.add(student1);
  10. Student student3 = new Student();
  11. student3.setName("three");
  12. student3.setNumber(1);
  13. lists.add(student3);
  14. List<Student> collect = lists.stream().filter(s -> s.getNumber()==1&& !s.getName().equals("laoli")).collect(Collectors.toList());
  15. for (Student student2 : collect) {
  16. System.out.println(student2.getName());
  17. }

输出结果

three

主要代码:

List<Student> collect = lists.stream().filter(s -> s.getNumber()==1&& !s.getName().equals("laoli")).collect(Collectors.toList());

这个filter(s -> s.getNumber()==1&& !s.getName().equals("laoli")) 就是将你要过滤的对象取出来,设置过滤条件就好了。

这个设置条件的地方,就当成使用 if()时, 括号里面的内容。

附上student的类:

  1. public class Student{
  2. private String name;
  3. private Integer number;
  4. public void setName(String name) {
  5. this.name = name;
  6. }
  7. public String getName() {
  8. return name;
  9. }
  10. public Integer getNumber() {
  11. return number;
  12. }
  13. public void setNumber(Integer number) {
  14. this.number = number;
  15. }
  16. }

原文地址:https://blog.csdn.net/Mint6/article/details/84780487

posted @ 2019-07-19 16:16  星朝  阅读(8805)  评论(0编辑  收藏  举报