明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

JAVA之List过滤

Posted on 2023-11-21 11:18  且行且思  阅读(498)  评论(0编辑  收藏  举报

List过滤的三种方式:

  1. 通过java8中filter过滤器进行过滤
  2. 通过For循环遍历过滤
  3. 通过ForEach遍历过滤
public class FilteringList {
 
    /**
     * 通过java8中filter过滤器进行过滤
     * @param userList
     * @return
     */
    public List<User> filterByStream(List<User> userList){
        return userList.stream()
                .filter(user -> Objects.nonNull(user))
                .filter(user -> user.getAge()>=12)
                .collect(Collectors.toList());
    }
 
    /**
     * 通过For循环遍历过滤
     * @param userList
     * @return
     */
    public List<User> filterByFor(List<User> userList){
        List<User> newUserList = new ArrayList<>();
        for (User user : userList) {
            if(user != null && user.getAge()>=12){
                newUserList.add(user);
            }
        }
        return newUserList;
    }
 
    /**
     * 通过ForEach遍历过滤
     * @param userList
     * @return
     */
    public List<User> filterByForEach(List<User> userList){
        List<User> newUserList = new ArrayList<>();
        userList.forEach(user -> {
            if(user != null && user.getAge()>=12){
                newUserList.add(user);
            }
        });
        return newUserList;
    }
}