English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O método removeIf() do Java ArrayList remove todos os elementos do ArrayList que satisfazem uma condição específica.
Sintaxe do removeIf()
arraylist.removeIf(Predicate<E> filter)
filter - Decida se deve excluir o elemento
Atenção:Se o filter retornar true, exclua o elemento.
Se excluiu elementos do arraylist, retorna true.
import java.util.ArrayList; class Main { public static void main(String[] args) { //Crie um ArrayList ArrayList<Integer> numbers = new ArrayList<>(); //Adicione elementos ao 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); //Exclua todos os números pares numbers.removeIf(e -> (e % 2) == 0);; System.out.println("Números ímpares: " " + numbers); } }
Resultados de saída
Números: [1, 2, 3, 4, 5, 6] Números ímpares: [1, 3, 5]
Neste exemplo, criamos um ArrayList chamado numbers. Note esta linha,
numbers.removeIf(e -> (e % 2) == 0);
Aqui,
e -> (e % 2) == 0) - É uma expressão lambda. Ela verifica se o elemento pode ser2Divisível. Para mais informações, acesseExpressões Lambda Java。
removeIf() - Se e -> (e % 2) == 0 retorna true, então exclua o elemento.
import java.util.ArrayList; class Main { public static void main(String[] args) { //Crie um ArrayList ArrayList<String> countries = new ArrayList<>(); //Adicione elementos ao ArrayList countries.add("Iceland"); countries.add("America"); countries.add("Ireland"); countries.add("Canada"); countries.add("Greenland"); System.out.println("País: " " + countries); //Exclua todos os países com 'land' countries.removeIf(e) -Se > e.contains("land"));; System.out.println("Países que não contêm land: ") + countries); } }
Resultados de saída
Países: [Islândia, América, Irlanda, Canadá, Groenlândia] Países que não contêm land: [América, Canadá]
No exemplo acima, usamosMétodos Java String contains()método para verificar se o elemento contém"land". Aqui,
e -Se > e.contains("land") - Se o elemento contiver "land", retorna true
removeIf() - Se e-Se > e.contains("land") retorna true, remove o elemento.