Java Lambda filter foreach的简单使用

Java在对 List 集合进行按条件查询的时候,经常会想到使用for循环。

自从 Java 8 引入了 Lambda 后,简化了循环的使用。

举例说明 Lambda的 foreach 和 filter 的简单使用。

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class StreamTest {
    public static void main(String[] args) {
        List studentList = new ArrayList();
        List resultList = new ArrayList<>();
        Student student1 = new Student("zhangsan", 20);
        Student student2 = new Student("lisi", 21);
        Student student3 = new Student("wangwu", 22);
        Student student4 = new Student("zhouliu", 23);

        studentList.add(student1);
        studentList.add(student2);
        studentList.add(student3);
        studentList.add(student4);

        //foreach循环
        studentList.stream().forEach(e -> {
            if(!"lisi".equals(e.getName())){
                resultList.add(e);
            }
          }
        );

        //filter过滤
        resultList = studentList.stream().filter( Student ->!"zhouliu".equals(Student.getName())).collect(Collectors.toList());


    }
}

 

你可能感兴趣的:(java基础)