English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo Java

Java Arreglo

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Cola (Cola)

Colección Java Map

Conjunto Java

Java Entrada/Salida (I/O)

Lector Java/Escritor

Otras secciones de Java

Uso y ejemplo de removeIf() de ArrayList de Java

Java Metodos de ArrayList

El método removeIf() de ArrayList de Java elimina todos los elementos que satisfacen las condiciones especificadas de ArrayList.

Sintaxis del método removeIf()

arraylist.removeIf(Predicate<E> filter)

Parámetros de removeIf()

  • filter  - Decide si se debe eliminar el elemento

Nota:Si el filtro devuelve true, elimina ese elemento.

Valor de retorno de removeIf()

  • Si se elimina un elemento del arraylist, devuelve true.

Ejemplo: Eliminar números pares de ArrayList

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //Crear ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        //Agregar elementos a ArrayList
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        numbers.add(6);
        System.out.println("Números: "	" + numbers);
        //Eliminar todos los números pares
        numbers.removeIf(e -> (e % 2) == 0);;
        System.out.println("Números impares: "	" + numbers);
    }
}

Resultado de salida

Números: [1, 2, 3, 4, 5, 6]
Números impares: [1, 3, 5]

En el ejemplo anterior, creamos una ArrayList llamada numbers. Nota esta línea,

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

Aquí,

  • e -> (e % 2) == 0)  - es una expresión lambda. Verifica si el elemento puede ser2División entera. Para obtener más información, visiteJava Expresiones Lambda

  • removeIf() - Si e -> (e % 2) == 0 devuelve true, entonces elimina ese elemento.

Ejemplo2:Eliminar países cuyos nombres contengan "land"

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //Crear ArrayList
        ArrayList<String> countries = new ArrayList<>();
        //Agregar elementos a ArrayList
        countries.add("Islandia");
        countries.add("América");
        countries.add("Irlanda");
        countries.add("Canadá");
        countries.add("Groenlandia");
        System.out.println("País: "	" + countries);
        //Eliminar todos los países que contengan 'land'
        countries.removeIf(e) -> e.contains("land"));;
        System.out.println("Los nombres de los países que no contienen land son: ") + countries);
    }
}

Resultado de salida

País: [Islandia, América, Irlanda, Canadá, Groenlandia]
Los nombres de los países que no contienen land son: [América, Canadá]

En el ejemplo anterior, utilizamosJava String contains()método para verificar si el elemento contiene"land"。Aquí,

  • e -> e.contains("land")  -  Si el elemento contiene "land", devuelve true

  • removeIf()  -  Si e-> e.contains("land") devuelve true, luego elimina el elemento.

Java Metodos de ArrayList