
Com o Versão 8 de Java, entrou um novo método, disponível para tipos Coleção. Este método é removeif(), que aceita como parâmetro um Predicado (Predicado) que define o condição em que deve ser Delete é o elementos da coleção.
Como um resultado, Retorna um Boolean que retorna VERDADE no caso em que o item foi removido, o FALSO em caso contrário.
Suponha que nós temos uma coleção do tipo pilha (Pilha) de cadeias de (Sequência de caracteres) e nós queremos excluir esses cadeias de que se encontram determinada condição:
1 2 3 4 5 6 7 8 | Collection<String> misPalabras = new Stack<>(); misPalabras.add( "Prueba" ); misPalabras.add( "de" ); misPalabras.add( "uso" ); misPalabras.add( "nuevo" ); misPalabras.add( "metodo" ); misPalabras.removeIf ( s -> s.contains("ue") ); |
Esse código cria um coleção de cadeias de pilha do tipo e excluir esses elementos cujas correntes contêm a subsequência de caracteres ‘UNIÃO EUROPEIA‘. Neste caso, itens excluídos ‘Teste‘ e ‘Novo‘.
ES importante salientar que Nem todas as coleções Eles oferecem suporte a eliminação de elementos. Se você não apoiá-lo, Isso irá produzir um exceção tipo UnsupportedOperationException para de tentar a remoção do elemento em questão. Uma dessas coleções é, por exemplo, ArrayList:
1 2 | Collection<String> misPalabras = Arrays.asList( "Prueba", "de", "uso", "nuevo", "metodo" ); misPalabras.removeIf( s -> s.contains("ue") ); |
Nesta ocasião, vai lançar um exceção Desde o método Arrays.asList() Retorna um ArrayList de tipo java.utils.Arrays.ArrayList, que é de somente leitura e tamanho fixo, Além disso normalmente usado tipo java.util.ArrayList, o que é modificável.
