JAva 8のstreamシリーズチュートリアルのfilterフィルタセットのいくつかの属性

1584 ワード

コードを貼る
  List lists = new ArrayList<>();
        Student student = new Student();
        student.setName("laoli");
        student.setNumber(1);
        lists.add(student);
        Student student1 = new Student();
        student1.setName("erzi");
        student1.setNumber(2);
        lists.add(student1);
        Student student3 = new Student();
        student3.setName("three");
        student3.setNumber(1);
        lists.add(student3);
        List collect = lists.stream().filter(s -> s.getNumber()==1&& !s.getName().equals("laoli")).collect(Collectors.toList());
        for (Student student2 : collect) {
            System.out.println(student2.getName());
        }

出力結果
three

主なコード:
List 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のクラスを添付します.
public class Student{

    private String name;
    private Integer number;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }
}