Mit der Version 8 der Java, Es hat eine neue Methode, für Typen verfügbar Kollektion. Diese Methode ist removeif(), die als akzeptiert Parameter ein Prädikat (Prädikat) definiert die Zustand in denen sein muss "löschen" ist die Elemente in der Sammlung.
Als ein Ergebnis, Kehrt ein Boolescher Wert Dadurch wird zurückgegeben WAHRE den Fall, dass das Element entfernt wurde, o FALSCHE Ansonsten.
Angenommen, wir haben eine Auflistung vom Typ Stapel (Stapel) der Ketten (Zeichenfolge) und wir wollen Löschen Diese Ketten dass sie erfüllen bestimmte Bedingung:
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") ); |
Dieser Code erstellt eine Sammlung von Art-Stack-Ketten und löschen Diese Elemente dessen Ketten enthalten die Teilzeichenfolge ‘EU‘. In diesem Fall, Gelöschte Elemente ‘Test‘ und ‘Neu‘.
ES wichtig betonen Sie, dass nicht alle Sammlungen Sie unterstützen die Beseitigung der Elemente. Im Falle von nicht unterstützt, Es erbringt eine Ausnahme Typ UnsupportedOperationException zu versuchen, das Entfernen des betreffenden Elements. Einer dieser Sammlungen ist, zum Beispiel, ArrayList:
1 2 | Collection<String> misPalabras = Arrays.asList( "Prueba", "de", "uso", "nuevo", "metodo" ); misPalabras.removeIf( s -> s.contains("ue") ); |
Bei dieser Gelegenheit, startet eine Ausnahme Da die Methode Arrays.asList() Gibt eine ArrayList Art java.utils.Arrays.ArrayList, Das ist der nur-Lese und feste Größe, Abgesehen davon, dass in der Regel verwendet vom Typ java.util.ArrayList, die selbst ist modifizierbar.