remove delete an element from an array java
Naucz się różnych metod usuwania lub usuwania elementu z tablicy w Javie, takich jak używanie innej tablicy, używanie strumieni Java 8, używanie ArrayList:
Tablice Java nie zapewniają metody bezpośredniego usuwania w celu usunięcia elementu. W rzeczywistości omówiliśmy już, że tablice w Javie są statyczne, więc rozmiar tablic nie może się zmienić po ich utworzeniu. Dlatego nie możemy usunąć elementu i zmniejszyć rozmiaru tablicy.
Więc jeśli chcemy usunąć lub usunąć element z tablicy, musimy zastosować różne metody, które zwykle są obejściem.
=> Zobacz całą serię samouczków dotyczących języka Java dla początkujących
Czego się nauczysz:
Usuń / Usuń element z tablicy w Javie
W tym samouczku omówimy różne metody usuwania elementu z tablicy.
Obejmuje:
- Korzystanie z innego Array
- Korzystanie ze strumieni Java 8
- Korzystanie z ArrayList
- Korzystanie z System.arraycopy ()
Korzystanie z innej tablicy
Jest to tradycyjna i nieco nieefektywna metoda usuwania elementu tablicy. Tutaj definiujemy nową tablicę o rozmiarze mniejszym niż 1 do oryginalnej tablicy. Następnie kopiujemy elementy z oryginalnej tablicy do nowej tablicy. Ale podczas kopiowania pomijamy element o określonym indeksie.
W ten sposób kopiujemy wszystkie elementy oprócz elementu do usunięcia do nowej tablicy, co oznacza, że element został usunięty.
Operację tę możemy przedstawić obrazowo, jak pokazano poniżej.
Zaimplementujmy tę metodę w programie Java.
import java.util.Arrays; class Main { public static void main(String() args) { // define original array int() tensArray = { 10,20,30,40,50,60}; // Print the original array System.out.println('Original Array: ' + Arrays.toString(tensArray)); // the index at which the element in the array is to be removed int rm_index = 2; // display index System.out.println('Element to be removed at index: ' + rm_index); // if array is empty or index is out of bounds, removal is not possible if (tensArray == null || rm_index<0 || rm_index>= tensArray.length) { System.out.println('No removal operation can be performed!!'); } // Create a proxy array of size one less than original array int() proxyArray = new int(tensArray.length - 1); // copy all the elements in the original to proxy array except the one at index for (int i = 0, k = 0; i Wynik:

Korzystanie ze strumieni Java 8
Strumienie są nowym dodatkiem do języka Java od wersji 8. Korzystając ze strumieni Java8, możemy usunąć element z tablicy. Aby to zrobić, najpierw tablica jest konwertowana na strumień. Następnie element o podanym indeksie jest usuwany przy użyciu metody filtrowania strumieni.
Po usunięciu elementu przy użyciu metod „map” i „toArray” strumień jest ponownie konwertowany na tablicę.
Poniżej pokazano implementację usuwania elementu z tablicy przy użyciu strumienia.
import java.util.Arrays; import java.util.stream.IntStream; class Main { // Function to remove the element public static int() removeArrayElement(int() oddArray, int index) { //array is empty or index is beyond array bounds if (oddArray == null || index <0 || index>= oddArray.length) { return oddArray; } // delete the element at specified index and return the array return IntStream.range(0, oddArray.length) .filter(i -> i != index) .map(i ->oddArray(i)).toArray(); } public static void main(String() args) { int() oddArray = { 1, 3,5,7,9,11}; // define array of odd numbers System.out.println('Original Array: ' + Arrays.toString(oddArray)); // Print the resultant array int index = 2; // index at which element is to be removed System.out.println('Element to be removed at index: ' + index); // display index // function call removeArrayElement oddArray = removeArrayElement(oddArray, index); // Print the resultant array System.out.println('Array after deleting element: ' + Arrays.toString(oddArray)); } }
Wynik:

Korzystanie z ArrayList
Możemy użyć ArrayList do wykonania tej operacji. Aby usunąć element z tablicy, najpierw konwertujemy tablicę na ArrayList, a następnie używamy metody „remove” ArrayList, aby usunąć element o określonym indeksie.
Po usunięciu konwertujemy ArrayList z powrotem na tablicę.
Poniższa implementacja pokazuje usuwanie elementu z tablicy przy użyciu ArrayList.
import java.util.*; import java.util.stream.*; class Main { public static int() remove_Element(int() myArray, int index) { if (myArray == null || index <0 || index>= myArray.length) { System.out.println('non-existing index'); return myArray; } //array to arrayList List arrayList = IntStream.of(myArray) .boxed().collect(Collectors.toList()); // Remove the specified element arrayList.remove(index); // return the resultant array returnarrayList.stream().mapToInt(Integer::intValue).toArray(); } public static void main(String() args) { int() myArray = { 11,22,33,44,55,66,77,88,99,111 }; System.out.println('Original Array: ' + Arrays.toString(myArray)); int index = 10; System.out.println('Index at which element is to be deleted: ' + index); myArray = remove_Element(myArray, index); System.out.println('Resultant Array: ' + Arrays.toString(myArray) + '
'); index = 2; System.out.println('Index at which element is to be deleted: ' + index); myArray = remove_Element(myArray, index); System.out.println('Resultant Array: ' + Arrays.toString(myArray)); } }
Wynik:

jakie zestawy słuchawkowe VR działają z XBOX ONE
Powyższy program generuje dane wyjściowe dla dwóch warunków. Najpierw przekazywany jest nieistniejący indeks (10), tj. Poza aktualny rozmiar tablicy. Program wyświetla odpowiedni komunikat i nie usuwa żadnego elementu.
W drugim przypadku przekazywany jest indeks = 2. Tym razem element na pozycji 2 jest usuwany, a wynikowa tablica jest przekazywana.
Korzystanie z System.arraycopy ()
Ta metoda jest podobna do pierwszej z tym, że używamy metody „arrayCopy” do kopiowania elementów oryginalnej tablicy do nowej tablicy.
Najpierw kopiujemy elementy oryginalnej tablicy od 0 do indeksowania do nowej tablicy. Następnie kopiujemy elementy z indeksu + 1 do długości do nowej tablicy. Dlatego podczas kopiowania pomijamy element o określonym indeksie i generujemy nową tablicę.
Ta nowa tablica wskazuje wynikową tablicę, która jest uzyskiwana po usunięciu elementu o określonym indeksie.
import java.util.Arrays; class Main { public static void main(String() args) { // define the array of integers int() intArray = { 10,20,30,40,50 }; // display the original array System.out.println('Original Array: ' + Arrays.toString(intArray)); // index at which the element is to be deleted int index = 2; // the index System.out.println('Element to be deleted at index: ' + index); // check if the array is empty or index is out of bounds if (intArray == null || index <0 || index>= intArray.length) { System.out.println('No removal operation can be performed!!'); } // create an array to hold elements after deletion int() copyArray = new int(intArray.length - 1); // copy elements from original array from beginning till index into copyArray System.arraycopy(intArray, 0, copyArray, 0, index); // copy elements from original array from index+1 till end into copyArray System.arraycopy(intArray, index + 1, copyArray, index, intArray.length - index - 1); // display the copied array after deletion System.out.println('Array after deleting an element: ' + Arrays.toString(copyArray)); } }
Wynik:

Często Zadawane Pytania
P # 1) Jak usunąć jeden element z tablicy?
Odpowiedź: Java nie udostępnia bezpośredniej metody usuwania elementu z tablicy. Ale mając indeks, w którym element ma zostać usunięty, możemy użyć ArrayList do usunięcia elementu o określonym indeksie.
W tym celu najpierw konwertujemy tablicę na ArrayList i za pomocą metody remove usuwamy element. Gdy to zrobisz, konwertujemy ArrayList z powrotem na tablicę. Istnieje również kilka innych obejść, które możemy zastosować w tym celu.
Pytanie 2) Co usuwa ArrayList?
Odpowiedź: Metoda ArrayList remove usuwa element z ArrayList pod danym indeksem, który jest podany jako argument.
jak otworzyć plik .eps
Pytanie 3) Jak usunąć duplikaty z tablicy w Javie?
Odpowiedź: Zduplikowane elementy z tablicy można usunąć za pomocą tymczasowej tablicy, która będzie liczyć elementy jeden po drugim i umieszczać tylko unikatowe elementy w tymczasowej tablicy. Tablicę należy posortować, aby usunąć duplikaty.
P # 4) Czy filtr zwraca nową tablicę?
Odpowiedź: Tak. Filtr zwraca nową tablicę bez wpływu na oryginalną tablicę.
P # 5) W jaki sposób R. emove pracować w Javie?
Odpowiedź: Metoda remove ArrayList w Javie usuwa element o określonym indeksie. Również na połączonej liście metoda remove usuwa węzeł na danej pozycji.
Wniosek
W tym samouczku widzieliśmy różne sposoby lub obejścia, za pomocą których możemy usunąć element z tablicy o podanym indeksie.
W naszych kolejnych tematach omówimy więcej operacji wykonywanych na tablicach w Javie.
=> Zapoznaj się z przewodnikiem intensywnego szkolenia Java tutaj
rekomendowane lektury
- Samouczek dotyczący długości tablicy w języku Java z przykładami kodu
- Tablica Java - jak wydrukować elementy tablicy w języku Java?
- Jak posortować tablicę w Javie - samouczek z przykładami
- Java Array - Deklaruj, twórz i inicjuj tablicę w Javie
- Tablica ogólna Java - jak symulować tablice ogólne w Javie?
- Odwróć tablicę w Javie - 3 metody z przykładami
- Samouczek dotyczący refleksji w języku Java z przykładami
- Jak przekazać / zwrócić tablicę w Javie