jdk1.8的新方法removeIf

 public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(i);
        }
        
        list.removeIf(Integer -> Integer > 5);
        System.out.println(list);
    }

源码(可以接受任何类型Predicate是一个接口):
default boolean removeIf(Predicate<? super E> filter) {
        Objects.requireNonNull(filter);	
        boolean removed = false;
        final Iterator<E> each = iterator();
        while (each.hasNext()) {
            if (filter.test(each.next())) {
                each.remove();
                removed = true;
            }
        }
        return removed;
    }

猜你喜欢

转载自blog.csdn.net/m0_46086429/article/details/105797143