Arrays sind das Kernkonzept jeder Programmiersprache, einschließlich Java. In Java bietet ein vordefinierter Klassenarray zahlreiche Methoden, um unterschiedliche Aufgaben oder Operationen in den Arrays wie Sortieren, Durchqueren, Suchen usw. auszuführen. Sie wären jedoch überrascht zu wissen, dass die Array -Klasse keine Methode zum Löschen eines Array -Elements bot. So löschen Sie Array -Elemente in Java?
Also! Wir können verschiedene Ansätze anwenden, um die Array -Elemente in Java zu löschen, z. B. die Verwendung mehrerer Arrays, mit ArrayList usw.
Dieser Artikel hilft uns dabei, Array-Elemente zu löschen. Dadurch werden die folgenden Methoden erläutert:
- So löschen
- So löschen Sie das Array -Element mit mehreren Arrays
- So löschen Sie das Array -Element mit Java8 -Streams
Also beginnen wir beginnen!
So löschen
Es ist eine vordefinierte Methode der ArrayList -Klasse, mit der die Elemente des Arrays gelöscht werden können. Zum Löschen des Arrays -Elements verwenden entfernen() Methode müssen wir zunächst das Array in eine Arrayliste umwandeln. Sobald das Array in eine ArrayList konvertiert wurde.
Beispiel
Betrachten wir das folgende Code -Snippet, um zu verstehen, wie Sie die Methode der REME () -Methode der ArrayList -Klasse mit Arrays verwenden, um ein bestimmtes Element eines Arrays zu löschen:
öffentliche Klasse DeletearRayELement
public static int [] deleteElement (int [] originalArray, int deleteIndex)
if (originalArray == null || DeleteIndex < 0 || deleteIndex >=
OriginalArray.Länge)
return originalArray;
Aufführen
ElementList = intstream.von (originalArray).Boxed () .Sammlung (Sammler.auflisten());
Elementlist.entfernen (deleteIndex);
Return ElementList.Strom().Maptoint (Integer :: Intvalue).toArray ();
public static void main (String [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
System.aus.println ("Originalarray:" + Arrays.tostring (originalArray));
Scanner input = neuer Scanner (System.In);
System.aus.println ("Geben Sie den Index ein, den Sie löschen möchten");
int deleteIndex = Eingabe.NextInt ();
OriginalArray = DeleteElement (OriginalArray, DeleteIndex);
System.aus.println ("Modified Array:" + Arrays.tostring (originalArray));
In diesem Java -Programm haben wir die folgenden Aufgaben ausgeführt:
- Erstellt ein Ganzzahl -Array namens namens "OriginalArray" und zugewiesen sechs Elemente diesem Array.
- Benutzte die Scanner Klasse, um das Array zu bekommen Index vom Benutzer gelöscht werden.
- Erstellte eine Methode namens namens DeleteElement() die die zurückgeben OriginalArray Wenn das Array leer ist oder wenn der Array -Index außerhalb des Bereichs liegt.
- Erstellt eine ArrayList mit dem Namen “ElementlistDas hält die Elemente der "OriginalArray”.
- Als nächstes haben wir das genutzt entfernen() Methode zum Löschen des angegebenen Index.
- Danach nutzten wir das maptoint () Und toArray () Methoden zum Erstellen eines Neuarrays.
Infolgedessen erhalten wir die folgende Ausgabe:
Die Ausgabe zeigt, dass die Methode von REME () das angegebene Array -Element aus dem ursprünglichen Array gelöscht hat.
So verwenden Sie mehrere Arrays, um Array -Elemente zu löschen
In Java können wir mehrere Arrays verwenden, um ein Array -Element zu löschen. Es ist einer der einfachsten Ansätze, um ein Array -Element zu löschen, in dem steht:
- Ermitteln Sie das Zielelement im spezifischen Index.
- Löschen Sie dieses Element.
- Kopieren Sie die verbleibenden Elemente in das Neue Array.
Auf diese Weise hat das neu erstellte Array eine Größe weniger als das Original -Array.
Beispiel
Betrachten wir den folgenden Code -Snippet für das tiefgreifende Verständnis dieses Konzepts:
Paket DeletearrayElement;
Java importieren.Util.Arrays;
Java importieren.Util.Scanner;
öffentliche Klasse DeletearRayELement
public static int [] deleteElement (int [] originalArray, int deleteIndex)
if (originalArray == null || DeleteIndex < 0 || deleteIndex >= originalArray.Länge)
return originalArray;
int [] secondarray = new int [originalArray.Länge - 1];
für (int i = 0, j = 0; i < originalArray.length; i++)
if (i == DeleteIndex)
weitermachen;
Secondarray [j ++] = originalArray [i];
Rückkehr Secondarray;
public static void main (String [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
System.aus.println ("Originalarray:"+ Arrays.tostring (originalArray));
Scanner input = neuer Scanner (System.In);
System.aus.println ("Geben Sie den Index ein, den Sie löschen möchten");
int deleteIndex = Eingabe.NextInt ();
OriginalArray = DeleteElement (OriginalArray, DeleteIndex);
System.aus.println ("Modified Array:" + Arrays.tostring (originalArray));
Der obige Code -Snippet führte die folgenden Funktionen aus:
- Erstellt ein Ganzzahl -Array namens namens "OriginalArray", benutzte die Scanner Klasse, um das Array zu bekommen Index gelöscht werden und eine Methode namens erstellt haben DeleteElement() um die zurückzugeben OriginalArray Falls das Array leer ist oder der Array -Index außerhalb des Bereichs liegt.
- Als nächstes haben wir ein weiteres Array namens erstellt "Secondarray" deren Länge ist ein weniger als das ursprüngliche Array und kopierte alle Elemente der “OriginalArray”(Außer dem gezielten Element/Index) zum“Secondarray”.
- Wir haben die For-Schleife verwendet, um den aktuellen Index mit dem zu gelöschten Index zu vergleichen. Wenn der aktuelle Index gleich dem gezielten Index ist, wird dieser Index übersprungen und die Schleife wird auf den nächsten Index verschoben.
- Auf diese Weise wird das angegebene Element aus dem angegebenen Array gelöscht.
Im Folgenden finden Sie die Ausgabe für den oben genannten Code -Snippet:
Der Benutzer hat „2“ eingegeben, folglich der oben angegebene Code löschte das im zweite Index vorhandene Element (i.e. 50) aus dem ursprünglichen Array.
So löschen Sie das Array -Element mit Java8 -Streams
Wir können auch die Java8 -Streams verwenden, um die Array -Elemente zu löschen. Dazu werden wir zuerst das Array in einen Stream umwandeln, dann werden wir ein neues filtriertes/modifiziertes Array erstellen.
Beispiel
Betrachten wir den folgenden Codeblock, um zu verstehen, wie Array -Elemente mit Java8 -Streams gelöscht werden:
öffentliche Klasse DeletearRayELement
public static int [] deleteElement (int [] originalArray, int deleteIndex)
if (originalArray == null || DeleteIndex < 0 || deleteIndex >=
OriginalArray.Länge)
return originalArray;
intstream zurückgeben.Bereich (0, OriginalArray.Länge).Filter (i -> i!= DeleteIndex)
.Karte (i-> originalArray [i]).toArray ();
public static void main (String [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
System.aus.println ("Originalarray:" + Arrays.tostring (originalArray));
Scanner input = neuer Scanner (System.In);
System.aus.println ("Geben Sie den Index ein, den Sie löschen möchten");
int deleteIndex = Eingabe.NextInt ();
OriginalArray = DeleteElement (OriginalArray, DeleteIndex);
System.aus.println ("Modified Array:" + Arrays.tostring (originalArray));
Der obige Codeblock führte die folgenden Aufgaben aus:
- Wir haben den Intstream benutzt.Bereich () Methode, um das Array in einen Stream umzuwandeln.
- Als nächstes verwendeten wir die Filter () -Methode, um den Zielarray -Index zu entfernen.
- Schließlich haben wir die Methoden MAP () und TOARRAY () verwendet, um ein neues gefiltertes/modifiziertes Array zu erstellen.
Der vollständige Code und die entsprechende Ausgabe sind ungefähr so:
So können wir die Java8 -Streams verwenden, um die Array -Elemente zu löschen.
Abschluss
In Java können mehrere Ansätze verwendet werden, um die Array -Elemente wie die Methode der ArrayList -Klasse, Filter () von Java8 -Streams usw. zu löschen, usw. Darüber hinaus können in Java mehrere Arrays verwendet werden, um ein bestimmtes Element eines Arrays zu löschen. In diesem Artikel wurde eine detaillierte Anleitung zum Löschen der Array-Elemente in Java vorgestellt. Für ein besseres Verständnis erklärte es jede Methode mit Hilfe geeigneter Beispiele.