java8新特性

隨學

實體類:
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);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章