import org.junit.Test; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class TestLambda01 { List<Student> students = Arrays.asList( new Student("志", 22, 122), new Student("元", 18, 81), new Student("王", 16, 69), new Student("唐",19,0)); public List<Student> Filter(List<Student> list,MyWays<Student> bb){ List<Student> ss=new ArrayList<>(); for(Student student:list){ if(bb.test(student)){ ss.add(student); } } return ss; } @Test //通过接口实现类来定义删选 public void test1(){ List<Student> list=Filter(students,new FilterByAge()); for(Student s:list){ System.out.println(s); } } @Test public void test2(){ List<Student> list =Filter(students,new FilterByScore()); for(Student student:list){ System.out.println(student); } } //匿名内部类 @Test public void test3(){ List<Student> list =Filter(students, new MyWays<Student>() { @Override public boolean test(Student student) { return student.getScore()>1; } }); for(Student student:list){ System.out.println(student); } } //lanbda表达式 @Test public void test4(){ List<Student> list=Filter(students,(e)->e.getScore()>90); list.forEach(System.out::println); } @Test //Stream Api public void test5(){ students.stream().filter((e)->e.getScore()>=0).forEach(System.out::println); students.stream().map(Student::getName).forEach(System.out::println); } }
<JAVA8新特性>根据条件筛选元素
最新推荐文章于 2024-04-10 23:27:58 发布