Jak usunąć elementy tablicy w Javie

Jak usunąć elementy tablicy w Javie
Tablice są podstawową koncepcją każdego języka programowania, w tym Java. W Javie predefiniowana tablica klasy zapewnia liczne metody wykonywania różnych zadań lub operacji na tablicach, takich jak sortowanie, przejście, wyszukiwanie itp. Ale byłbyś zaskoczony, wiedząc, że klasa tablicy nie dostarczyła żadnej metody usuwania elementu tablicy. Jak więc usunąć elementy tablicy w Javie?

Dobrze! Możemy przyjąć różne podejścia do usuwania elementów tablicy w Javie, takich jak używanie wielu tablic, za pomocą ArrayList itp.

W tym artykule pomoże nam usunąć elementy tablicy i zrobić to, wyjaśni metody poniżej listy:

  • Jak usunąć element tablicy za pomocą metody remove ()
  • Jak usunąć element tablicy za pomocą wielu tablic
  • Jak usunąć element tablicy za pomocą strumieni Java8

Więc zacznijmy!

Jak usunąć element tablicy za pomocą metody remove ()

Jest to predefiniowana metoda klasy ArrayList, której można użyć do usuwania elementów tablicy. Aby usunąć element tablicy za pomocą usunąć() Metoda, po pierwsze, musimy przekonwertować tablicę w tablicę. Po przekonwertowaniu tablicy w arraylist możemy skorzystać z metody remove () klasy ArrayList, aby usunąć elementy tablicy.

Przykład

Rozważmy poniższy fragment kodu, aby zrozumieć, jak użyć metody remove () klasy ArrayList z tablicami, aby usunąć określony element tablicy:

DeleTearmelement klasy publicznej
public static int [] deleteelement (int [] originalArray, int deleteIndex)
if (originalArray == null || deleteIndex < 0 || deleteIndex >=
oryginał.długość)

zwrócić oryginał;

Lista ElementList = intstream.z (oryginał).Boxed () .Zbieraj (kolekcjonerzy.notować());
lista elementu.usuń (deleteIndex);
lista elementu powrotu.strumień().Maptoint (Integer :: intValue).toarray ();

public static void main (string [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
System.na zewnątrz.println („oryginalna tablica:” + tablice.ToString (OriginalArray));
Skaner wejściowy = nowy skaner (system.W);
System.na zewnątrz.println („wprowadź indeks, który chcesz usunąć”);
int deleteIndex = wprowadzanie.NextIt ();
origiginalArray = DeLeTeElement (OriginalArray, DeleteIndex);
System.na zewnątrz.println („Zmodyfikowana tablica:” + tablice.ToString (OriginalArray));

W tym programie Java wykonaliśmy następujące zadania:

  • Utworzył nazwaną tablicę liczb całkowitych „OriginalArray” i przypisał sześć elementów do tej tablicy.
  • Wykorzystał Skaner zajęcia, aby zdobyć tablicę indeks do usunięcia od użytkownika.
  • Utworzył metodę nazwaną Usuwanie(), który zwróci oryginał Jeśli tablica jest pusta lub jeśli indeks tablicy jest poza zasięgiem.
  • Stworzył tablicę o nazwie „lista elementu„To zawiera elementy„oryginał".
  • Następnie wykorzystaliśmy usunąć() metoda usuwania danego indeksu.
  • Następnie wykorzystaliśmy Maptoint () I toarray () metody utworzenia nowej tablicy.

W rezultacie otrzymamy następujące dane wyjściowe:

Dane wyjściowe pokazuje, że metodę usuwania () udało się usunąć określony element tablicy z oryginalnej tablicy.

Jak używać wielu tablic do usuwania elementów tablicy

W Javie możemy wykorzystać wiele tablic, aby usunąć element tablicy. Jest to jedno z najprostszych podejść do usunięcia elementu tablicy, który mówi:

  • Znajdź docelowy element w określonym indeksie.
  • Usuń ten element.
  • Skopiuj pozostałe elementy do nowej tablicy.

W ten sposób nowo utworzona tablica będzie miała rozmiar jeden mniej niż oryginalna tablica.

Przykład

Rozważmy następujący fragment kodu dla głębokiego zrozumienia tej koncepcji:

Pakiet DeleTeArrayelement;
Importuj Java.Util.Tablice;
Importuj Java.Util.Skaner;
DeleTearmelement klasy publicznej
public static int [] deleteelement (int [] originalArray, int deleteIndex)
if (originalArray == null || deleteIndex < 0 || deleteIndex >= OriginalArray.długość)

zwrócić oryginał;

int [] secondarray = new int [oryginalArray.długość - 1];
for (int i = 0, j = 0; i < originalArray.length; i++)
if (i == deleteIndex)
Kontynuować;

SecondArray [j ++] = oryginał [i];

powrót SecondArray;

public static void main (string [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
System.na zewnątrz.println („oryginalna tablica:”+ tablice.ToString (OriginalArray));
Skaner wejściowy = nowy skaner (system.W);
System.na zewnątrz.println („wprowadź indeks, który chcesz usunąć”);
int deleteIndex = wprowadzanie.NextIt ();
origiginalArray = DeLeTeElement (OriginalArray, DeleteIndex);
System.na zewnątrz.println („Zmodyfikowana tablica:” + tablice.ToString (OriginalArray));

Powyższy fragment kodu wykonał następujące funkcje:

  • Utworzył nazwaną tablicę liczb całkowitych „OriginalArray”, wykorzystał Skaner zajęcia, aby zdobyć tablicę indeks do usunięcia i utworzenia metody o nazwie Usuwanie() Aby zwrócić oryginał W przypadku, gdy tablica jest pusta lub wskaźnik tablicy jest poza zasięgiem.
  • Następnie stworzyliśmy kolejną tablicę nazwaną „SecondArray” którego długość jest o jeden mniej niż oryginalna tablica i skopiowała wszystkie elementy „oryginał”(Z wyjątkiem docelowego elementu/indeksu) do„SecondArray".
  • Wykorzystaliśmy pętlę do porównania bieżącego indeksu z indeksem, który ma zostać usunięty. Jeśli bieżący wskaźnik jest równy docelowej indeksowi, wskaźnik zostanie pominięty, a pętla zostanie przeniesiona do następnego indeksu.
  • W ten sposób określony element zostanie usunięty z danej tablicy.

Poniżej pojawi się wyjście dla powyższego fragmentu kodu:

Użytkownik wprowadził „2”, w konsekwencji wyżej określony kod usunął element obecny w drugim indeksie (i.mi. 50) z oryginalnej tablicy.

Jak usunąć element tablicy za pomocą strumieni Java8

Możemy również użyć strumieni Java8 do usuwania elementów tablicy. Aby to zrobić, najpierw przekonwertujemy tablicę na strumień, a następnie utworzymy nową tablicę filtrowaną/zmodyfikowaną.

Przykład

Rozważmy poniższy blok kodu, aby zrozumieć, jak usunąć elementy tablicy za pomocą strumieni Java8:

DeleTearmelement klasy publicznej
public static int [] deleteelement (int [] originalArray, int deleteIndex)
if (originalArray == null || deleteIndex < 0 || deleteIndex >=
oryginał.długość)

zwrócić oryginał;

powrót intstream.Zakres (0, oryginał.długość).filtr (i -> i!= deleteIndex)
.mapa (i-> oryginalArray [i]).toarray ();

public static void main (string [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
System.na zewnątrz.println („oryginalna tablica:” + tablice.ToString (OriginalArray));
Skaner wejściowy = nowy skaner (system.W);
System.na zewnątrz.println („wprowadź indeks, który chcesz usunąć”);
int deleteIndex = wprowadzanie.NextIt ();
origiginalArray = DeLeTeElement (OriginalArray, DeleteIndex);
System.na zewnątrz.println („Zmodyfikowana tablica:” + tablice.ToString (OriginalArray));

Powyższy blok kodu wykonał następujące zadania:

  • Wykorzystaliśmy intstream.Range () metoda konwertowania tablicy na strumień.
  • Następnie wykorzystaliśmy metodę Filter () do usunięcia docelowego wskaźnika tablicy.
  • Na koniec zastosowaliśmy metody MAP () i ToArray () do utworzenia nowej tablicy filtrowanej/zmodyfikowanej.

Kompletny kod i odpowiednie wyjście będą takie jak ten:

W ten sposób możemy użyć strumieni Java8 do usuwania elementów tablicy.

Wniosek

W Java można zastosować wiele podejść do usunięcia elementów tablicy, takich jak metoda remove () klasa ArrayList, Filter () metoda strumieni Java8 itp. Ponadto w Javie można użyć wielu tablic do usunięcia określonego elementu tablicy. Ten zapis przedstawił szczegółowy przewodnik po usunięciu elementów tablicy w Javie. Aby lepiej zrozumieć, wyjaśnił każdą metodę za pomocą odpowiednich przykładów.