一點一點看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 }
?
運行結果如下:
?
比較簡單,不多廢話
?
以上!