一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate
liuyuhang原创,未经允许禁止转载
本文举例使用的是JDK8的API
目录:一点一点看JDK源码(〇)
Predicate为jdk1.8新增接口,由ArrayList.removeIf(Predicatep)调用。
使用起来也比较方便,从ArrayList中移除Predicate 中test方法的返回值(boolean)来确定是否删除,
示例代码如下:
1 package com.FM.ArrayListStudy; 2 3 import java.util.ArrayList; 4 import java.util.function.Predicate; 5 6 public class RemoveIfInArrayListStudy { 7 public static void main(String[] args) { 8 ArrayList<Integer> list = new ArrayList<Integer>(); 9 for (int i = 0; i < 20; i++) { 10 list.add(i + 1); 11 } 12 System.out.println(list); 13 list.removeIf(new Predicate<Integer>() { 14 15 @Override 16 public boolean test(Integer t) { 17 if (t % 2 == 1) { 18 return true; 19 } else { 20 return false; 21 } 22 } 23 }); 24 System.out.println(list); 25 } 26 }
运行结果如下:
比较简单,不多废话
以上!