Java ArrayList removeIf()方法從ArrayList中刪除滿足指定條件的所有元素。
removeIf()方法的語法為:
arraylist.removeIf(Predicate<E> filter)
filter - 決定是否要刪除元素
注意:如果filter返回true,則刪除該元素。
如果從arraylist中刪除了元素,則返回true。
import java.util.ArrayList; class Main { public static void main(String[] args) { //創(chuàng)建 ArrayList ArrayList<Integer> numbers = new ArrayList<>(); //添加元素到 ArrayList numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); numbers.add(5); numbers.add(6); System.out.println("數(shù)字: " + numbers); //刪除所有偶數(shù) numbers.removeIf(e -> (e % 2) == 0);; System.out.println("奇數(shù): " + numbers); } }
輸出結(jié)果
數(shù)字: [1, 2, 3, 4, 5, 6] 奇數(shù): [1, 3, 5]
在上面的示例中,我們創(chuàng)建了一個名為numbers的ArrayList。注意這一行,
numbers.removeIf(e -> (e % 2) == 0);
這里,
e -> (e % 2) == 0) - 是lambda表達式。它檢查元素是否能被2整除。要了解更多信息,請訪問Java Lambda 表達式。
removeIf() - 如果e -> (e % 2) == 0返回true,則刪除該元素。
import java.util.ArrayList; class Main { public static void main(String[] args) { //創(chuàng)建 ArrayList ArrayList<String> countries = new ArrayList<>(); //添加元素到 ArrayList countries.add("Iceland"); countries.add("America"); countries.add("Ireland"); countries.add("Canada"); countries.add("Greenland"); System.out.println("國家: " + countries); //刪除所有帶land的國家 countries.removeIf(e -> e.contains("land"));; System.out.println("國家名稱不含land的有: " + countries); } }
輸出結(jié)果
國家: [Iceland, America, Ireland, Canada, Greenland] 國家名稱不含land的有: [America, Canada]
在上面的示例中,我們使用了Java String contains()方法來檢查元素中是否包含“l(fā)and”。這里,
e -> e.contains("land") - 如果元素中包含“l(fā)and”,則返回true
removeIf() - 如果e-> e.contains("land")返回true,則刪除元素。