
Con il Versione 8 di Java, inserito un nuovo metodo, disponibile per i tipi di Collezione. Questo metodo è removeif(), che accetta come parametro un Predicato (Predicato) che definisce il condizione che dovrebbe Delete è il elementi nell'insieme.
Di conseguenza, Restituisce un Boolean che restituisce VERO dove è ha rimosso l'elemento, o FALSE in caso contrario.
Supponiamo che abbiamo un insieme di tipo pila (Pila) di catene (Stringa) e che vogliamo Elimina tali catene che si incontrano determinata condizione:
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") ); |
Questo codice crea un raccolta di tipo stack delle catene e Elimina quegli elementi cui catene contengono la sottostringa ‘DELL'UNIONE EUROPEA‘. In questo caso, per eliminare tali elementi ‘Prova‘ e ‘Nuovo‘.
ES importante sottolineare che non tutte le collezioni sostengono l'eliminazione di elementi. In caso di non sostenerla, Sarà resa una eccezione tipo Eccezione UnsupportedOperationException per la prova per la rimozione dell'elemento in questione. Una di queste raccolte è, Per esempio, ArrayList:
1 2 | Collection<String> misPalabras = Arrays.asList( "Prueba", "de", "uso", "nuevo", "metodo" ); misPalabras.removeIf( s -> s.contains("ue") ); |
In questa occasione, Verrà avviato un eccezione Poiché il metodo Arrays.asList() Restituisce un oggetto ArrayList di tipo java.utils.Arrays.ArrayList, che è di solo lettura e dimensione fissa, diverso da quello in genere utilizzato tipo java.util.ArrayList, che è modificabile.
