Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java ArrayList removeIf() 使用方法及示例

Java ArrayList 方法

Java ArrayList removeIf()方法从ArrayList中删除满足指定条件的所有元素。

removeIf()方法的语法为:

arraylist.removeIf(Predicate<E> filter)

removeIf()参数

  • filter  - 决定是否要删除元素

注意:如果filter返回true,则删除该元素。

removeIf()返回值

  • 如果从arraylist中删除了元素,则返回true。

示例:从ArrayList中删除偶数

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        //创建 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("数字: " + numbers);

        //删除所有偶数
        numbers.removeIf(e -> (e % 2) == 0);;
        System.out.println("奇数: " + numbers);
    }
}

输出结果

数字: [1, 2, 3, 4, 5, 6]
奇数: [1, 3, 5]

在上面的示例中,我们创建了一个名为numbers的ArrayList。注意这一行,

numbers.removeIf(e -> (e % 2) == 0);

这里,

  • e -> (e % 2) == 0)  - 是lambda表达式。它检查元素是否能被2整除。要了解更多信息,请访问Java Lambda 表达式

  • removeIf() - 如果e -> (e % 2) == 0返回true,则删除该元素。

示例2:删除名称中带有“ land”的国家

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        //创建 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);
    }
}

输出结果

国家: [Iceland, America, Ireland, Canada, Greenland]
国家名称不含land的有: [America, Canada]

在上面的示例中,我们使用了Java String contains()方法来检查元素中是否包含“land”。这里,

  • e -> e.contains("land")  -  如果元素中包含“land”,则返回true

  • removeIf()  -  如果e-> e.contains("land")返回true,则删除元素。

Java ArrayList 方法