
Avec le Version 8 de Java, Il a mis en place un nouvelle méthode, disponibles pour ces types Collection. Cette méthode est removeif(), qui accepte comme paramètre un Prédicat (Prédicat) qui définit les condition qui devrait supprimé le éléments de la collection.
Ainsi, Retourne un Boolean qui retourne VRAI où est a supprimé l’élément, o FAUX dans le cas contraire.
Supposons que nous avons une collection de type batterie (Pile) de chaînes (Chaîne) et que nous voulons supprimer ces chaînes qui se réunissent certaine condition:
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") ); |
Ce code créera une collection de pile type de chaînes et supprimer les éléments dont les chaînes contiennent des la sous-chaîne ‘UNION EUROPÉENNE‘. Dans ce cas, permettra d’éliminer ces éléments ‘Test‘ et ‘Nouveau‘.
ES important souligner que pas toutes les collections ils prennent en charge l’élimination des éléments. Dans le cas de ne pas soutenir ce, Il engendrera une exception type de UnsupportedOperationException à l’essai à la suppression de l’élément en question. Une de ces collections est, par exemple, ArrayList:
1 2 | Collection<String> misPalabras = Arrays.asList( "Prueba", "de", "uso", "nuevo", "metodo" ); misPalabras.removeIf( s -> s.contains("ue") ); |
À cette occasion, Il va lancer une exception Depuis la méthode Arrays.asList() Retourne un ArrayList de type java.utils.Arrays.ArrayList, qui est de lecture seule et taille fixe, autre que celle généralement utilisé de type java.util.ArrayList, qui est lui-même modifiable.
