ArrayList je podobné poľu, ktorého veľkosť je možné upraviť. Trieda ArrayList je dostupná v java.util balík a predlžuje Zoznam rozhranie . Pridanie a odstránenie prvku z ArrayList je veľmi jednoduché pomocou jeho vstavaných metód pridať () a odstrániť () . Existuje však viac ako jeden spôsob odstránenia prvku z ArrayList:
hashmap
- Použitie metódy ArrayList.remove().
- Podľa indexu.
- Podľa prvku
- Použitie metódy Iterator.remove().
- Použitie metódy ArrayList.removeIf().
Všetky tieto tri spôsoby sú najlepšie samy o sebe a možno ich použiť v inom scenári. Poďme pochopiť všetky tieto tri spôsoby, jeden po druhom.
Metóda ArrayList.remove().
Pomocou odstrániť () metóda Trieda ArrayList je najrýchlejší spôsob vymazania alebo odstránenia prvku z ArrayList. Poskytuje tiež dve preťažené metódy, tj. odstrániť (int index) a odstrániť (objekt objektu) . The odstrániť (int index) metóda akceptuje index objektu, ktorý sa má odstrániť, a odstrániť (objekt objektu) metóda akceptuje objekt, ktorý sa má odstrániť.
Zoberme si príklad, aby sme pochopili, ako odstrániť () používa sa metóda.
RemoveMethod.java
import java.util.ArrayList; public class RemoveMethod { public static void main(String[] args) { // creating an ArrayList having default size 5 ArrayList arr = new ArrayList(5); // Adding elements to the ArrayList arr.add('Helen'); arr.add('Paul'); arr.add('Elanie'); arr.add('Marco'); System.out.println('The list of the size is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } // Removing element available at position 1 arr.remove(1); System.out.println(' After removing the element the size of the ArrayList is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } } }
Výkon:
Zoberme si ďalší príklad, aby sme pochopili, ako odstrániť () metóda sa používa na odstránenie špecifikovaného prvku z ArrayList.
RemoveElementMethod.java
dynamické programovanie
import java.util.ArrayList; public class RemoveElementMethod { public static void main(String[] args) { // creating an ArrayList having default size 5 ArrayList arr = new ArrayList(5); // Adding elements to the ArrayList arr.add('Helen'); arr.add('Paul'); arr.add('Elanie'); arr.add('Marco'); System.out.println('The list of the size is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } // Removing the specified element from ArrayList arr.remove('Paul'); System.out.println(' After removing the element the size of the ArrayList is: ' + arr.size()); // Showing all the elements in the ArrayList for (String name : arr) { System.out.println('Name is: ' + name); } } }
Výkon:
java lambda výrazy
Metóda Iterator.remove().
The Iterator.remove() metóda je ďalší spôsob odstránenia prvku z ArrayList. Nie je to také užitočné v prípade, keď iterujete cez prvky. Keď použijeme metódu remove() počas iterácie prvkov, vyvolá to ConcurrentModificationException . The Iterátor trieda správne odstraňuje prvky počas iterácie ArrayList.
Zoberme si príklad, aby sme pochopili, ako sa používa metóda Iterator.remove().
IteratorRemoveMethod.java
import java.util.ArrayList; import java.util.Iterator; public class iteratorRemoveMethod { public static void main(String[] args) { // creating an ArrayList having default size 10 ArrayList numbers = new ArrayList(10); // Adding elements to the ArrayList numbers.add(12); numbers.add(1); numbers.add(8); numbers.add(5); numbers.add(9); System.out.println('The list of the size is: ' + numbers.size()); // Showing all the elements in the ArrayList for (Integer number : numbers) { System.out.println('Number is: ' + number); } // Removing elements greater than 10 using remove() method Iterator itr = numbers.iterator(); while (itr.hasNext()) { int data = (Integer)itr.next(); if (data > 10) itr.remove(); } System.out.println(' After removing the element the size of the ArrayList is: ' + numbers.size()); // Showing all the elements in the ArrayList for (Integer number : numbers) { System.out.println('Number is: ' + number); } } }
Výkon:
Metóda ArrayList.removeIf().
Ak chceme z ArrayList odstrániť prvok, ktorý spĺňa predikátový filter, removeIf() metóda je pre tento prípad najvhodnejšia. Predikátový filter tejto metóde odovzdáme ako argument.
Zoberme si príklad, aby sme pochopili, ako removeIf() používa sa metóda.
obsahuje python
RemoveIfMethod.java
import java.util.ArrayList; public class RemoveIfMethod { public static void main(String[] args) { // creating an ArrayList having default size 10 ArrayList cities = new ArrayList(10); // Adding elements to the ArrayList cities.add('Berlin'); cities.add('Bilbao'); cities.add('Cape Town'); cities.add('Nazilli'); cities.add('Uribia'); cities.add('Gliwice'); System.out.println('The list of the size is: ' + cities.size()); // Showing all the elements in the ArrayList for (String city : cities) { System.out.println('City is: ' + city); } // Removing elements which are start with B using removeIf() method cities.removeIf(n -> (n.charAt(0) == 'B')); System.out.println(' After removing the element the size of the ArrayList is: ' + cities.size()); // Showing all the elements in the ArrayList for (String city : cities) { System.out.println('City is: ' + city); } } }
Výkon:
Všetky vyššie diskutované metódy sa používajú pre rôzne scenáre. Použitie metódy ArrayList.remove() je najrýchlejší spôsob odstránenia prvku z ArrayList.