Java ArrayList removeIf ()

O método Java ArrayList removeIf () remove todos os elementos da arraylist que satisfazem a condição especificada.

A sintaxe do removeIf()método é:

 arraylist.removeIf(Predicate filter)

Aqui, arraylist é um objeto da ArrayListclasse.

removeIf () Parâmetros

O removeIf()método usa um único parâmetro.

  • filtro - decide se um elemento deve ser removido

valor de retorno removeIf ()

  • retorna truese um elemento for removido da lista de vetores.

Exemplo: remover números pares de ArrayList

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList numbers = new ArrayList(); // add elements to the ArrayList numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); numbers.add(5); numbers.add(6); System.out.println("Numbers: " + numbers); // remove all even numbers numbers.removeIf(e -> (e % 2) == 0);; System.out.println("Odd Numbers: " + numbers); ) )

Resultado

 Números: (1, 2, 3, 4, 5, 6) Números ímpares: (1, 3, 5)

No exemplo acima, criamos uma lista de matrizes denominada números. Observe a linha,

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

Aqui,

  • e -> (e % 2) == 0)é uma expressão lambda. Ele verifica se um elemento está dividido por 2. Para saber mais, visite Java Lambda Expression.
  • removeIf()- Remova o elemento se e -> (e % 2) == 0retornar true.

Exemplo 2: Remover países com "terra" no nome

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList countries = new ArrayList(); // add elements to the ArrayList countries.add("Iceland"); countries.add("America"); countries.add("Ireland"); countries.add("Canada"); countries.add("Greenland"); System.out.println("Countries: " + countries); // remove all even countries countries.removeIf(e -> e.contains("land"));; System.out.println("Countries without land: " + countries); ) )

Resultado

 Países: (Islândia, América, Irlanda, Canadá, Groenlândia) Países sem terra: (América, Canadá)

No exemplo acima, usamos o método Java String contains () para verificar se o elemento contém terreno . Aqui,

  • e -> e.contains("land")- retorna truese o elemento contiver terreno nele
  • removeIf()- remove o elemento se e -> e.contains("land")retorna true.

Artigos interessantes...