
Με το έκδοση 8 του Java, Έχει εισαγάγει μια νέα μέθοδος, διαθέσιμα για αυτούς τους τύπους Συλλογή. Αυτή η μέθοδος είναι removeif(), που δέχεται ως η παράμετρος ένα Κατηγόρημα (Κατηγόρημα) που ορίζει η κατάσταση στην οποία πρέπει να Διαγραφή είναι το στοιχεία της συλλογής.
Ως εκ τούτου, Επιστρέφει ένα Μπουλ οποίο επιστρέφει ΑΛΉΘΕΙΑ όπου είναι έχει αφαιρέσει το στοιχείο, 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") ); |
Αυτός ο κωδικός θα δημιουργήσει ένα συλλογή τύπο στοίβα αλυσίδες και Διαγραφή του τα στοιχεία εκείνα των οποίων οι αλυσίδες περιέχουν δευτερεύουσα συμβολοσειρά ‘ΤΗΣ ΕΕ‘. Στην περίπτωση αυτή, Διαγραμμένα στοιχεία ‘Δοκιμή‘ και ‘νέα‘.
ES σημαντικό τονίσω ότι δεν όλες τις συλλογές soportan la eliminación de elementos. Σε περίπτωση μην την υποστηρίζουμε, Θα αποφέρει ένα εξαίρεση Τύπος UnsupportedOperationException να το δοκιμάσετε με την αφαίρεση του εν λόγω στοιχείου. Μια από αυτές τις συλλογές είναι, για παράδειγμα, ArrayList:
1 2 | Collection<String> misPalabras = Arrays.asList( "Prueba", "de", "uso", "nuevo", "metodo" ); misPalabras.removeIf( s -> s.contains("ue") ); |
Σε αυτή την περίπτωση, Θα ξεκινήσει μια εξαίρεση Από τη μέθοδο Arrays.asList() Επιστρέφει ένα ArrayList τύπου java.utils.Arrays.ArrayList, που είναι μόνο για ανάγνωση και σταθερό μέγεθος, διαφορετική από εκείνη κανονικά να χρησιμοποιείται Τύπος java.util.ArrayList, η οποία αποτελεί τροποποιήσιμοι.
