隨學
實體類:
User有三個屬性:
姓名name,年齡age,金額salary
List<User> users = Arrays.asList(
new User("張三",18,2000),
new User("李四",19,1000),
new User("王五",20,5000),
new User("趙六",17,7000),
);
1、Lambda表達式
簡化代碼,提取關鍵代碼
//接口
public interface MyPredicate<T>{
public boolean test(T t);
}
public List<User> filterUser(List<User> list,MyPredicate<User> u){
List<User> users = new ArrayList<>();
for(User user : list){
if(u.test(user)){
users.add(user);
}
}
return users;
}
@Test
public void test(){
List<User> list = filterUser(users,(e) -> e.getSalary() > 2000);
list.forEach(System.out::println);
}
2、Stream API
@Test
public void test(){
users.stream()
.filter((e) -> e.getSalary() > 2000)
.forEach(System.out::println);
}