Come eliminare gli elementi di array in Java

Come eliminare gli elementi di array in Java
Gli array sono il concetto fondamentale di qualsiasi linguaggio di programmazione incluso Java. In Java, un array di classe predefinito fornisce numerosi metodi per eseguire diverse attività o operazioni sugli array come smistamento, attraversamento, ricerca, ecc. Ma saresti sorpreso di sapere che la classe Array non ha fornito alcun metodo per eliminare un elemento di array. Quindi, come eliminare gli elementi di array in Java?

BENE! Possiamo adottare vari approcci per eliminare gli elementi dell'array in Java come l'uso di più array, usando ArrayList, ecc.

Questo articolo ci aiuterà a eliminare gli elementi dell'array e a farlo, spiegherà i metodi di seguito elencati:

  • Come eliminare l'elemento array usando il metodo Rimuovi ()
  • Come eliminare l'elemento array usando più array
  • Come eliminare l'elemento array usando i flussi Java8

Quindi, iniziamo!

Come eliminare l'elemento array usando il metodo Rimuovi ()

È un metodo predefinito della classe ArrayList che può essere utilizzato per eliminare gli elementi dell'array. Per eliminare l'elemento dell'array usando rimuovere() Metodo, in primo luogo, dobbiamo convertire l'array in un arraylist. Una volta che l'array viene convertito in un arrayList, possiamo utilizzare il metodo Rimovi () della classe ArrayList per eliminare gli elementi dell'array.

Esempio

Consideriamo lo snippet di codice seguente per capire come utilizzare il metodo Rimuovi () della classe ArrayList con array per eliminare un elemento specifico di un array:

Classe pubblica deleteArayElement
public static int [] deleteElement (int [] originalArray, int deleteIndex)
if (originalarray == null || deleteIndex < 0 || deleteIndex >=
OriginalArray.lunghezza)

restituire OriginalArray;

Elenco ElementList = intStream.di (OriginalArray).Incorniciato() .Raccogli (collezionisti.elencare());
Elemento.rimuovere (deleteIndex);
Return Elementlist.flusso().MaptOint (intero :: intvalue).Toarray ();

public static void main (string [] args)
int [] originaliray = 30, 25, 50, 80, 20, 60;
Sistema.fuori.println ("Array originale:" + array.toString (originalArray));
Scanner Input = New Scanner (Sistema.In);
Sistema.fuori.println ("Immettere l'indice che si desidera eliminare");
int deleteIndex = input.NextInt ();
OriginalArray = deleteElement (OriginalArray, deleteIndex);
Sistema.fuori.println ("array modificato:" + array.toString (originalArray));

In questo programma Java abbiamo eseguito le seguenti attività:

  • Ha creato un array intero chiamato "OriginalArray" e assegnato sei elementi a quell'array.
  • Utilizzato il Scanner classe per ottenere l'array indice da eliminare dall'utente.
  • Creato un metodo chiamato DelteElement() che restituirà il OriginalArray Se l'array è vuoto o se l'indice dell'array è fuori portata.
  • Ha creato un arraylist chiamato "Elemento"Ciò detiene gli elementi del"OriginalArray".
  • Successivamente, abbiamo utilizzato il rimuovere() Metodo per eliminare l'indice dato.
  • Successivamente, abbiamo utilizzato il maptOint () E Toarray () Metodi per creare un nuovo array.

Di conseguenza otterremo il seguente output:

L'output mostra che il metodo Rimovi () è riuscito a eliminare l'elemento array specificato dall'array originale.

Come utilizzare più array per eliminare gli elementi di array

In Java, possiamo utilizzare più array per eliminare un elemento array. È uno degli approcci più semplici per eliminare un elemento di array che dice:

  • Trova l'elemento mirato all'indice specifico.
  • Elimina quell'elemento.
  • Copia gli elementi rimanenti nel nuovo array.

In questo modo, l'array appena creato avrà una taglia uno in meno rispetto all'array originale.

Esempio

Consideriamo il seguente frammento di codice per la profonda comprensione di questo concetto:

pacchetto deleteArayElement;
Importa Java.util.Array;
Importa Java.util.Scanner;
Classe pubblica deleteArayElement
public static int [] deleteElement (int [] originalArray, int deleteIndex)
if (originalarray == null || deleteIndex < 0 || deleteIndex >= OriginalArray.lunghezza)

restituire OriginalArray;

int [] secondarray = new int [originalarray.lunghezza - 1];
per (int i = 0, j = 0; i < originalArray.length; i++)
if (i == deleteIndex)
Continua;

SecondArray [j ++] = originalArray [i];

restituire secondarray;

public static void main (string [] args)
int [] originaliray = 30, 25, 50, 80, 20, 60;
Sistema.fuori.println ("Array originale:"+ array.toString (originalArray));
Scanner Input = New Scanner (Sistema.In);
Sistema.fuori.println ("Immettere l'indice che si desidera eliminare");
int deleteIndex = input.NextInt ();
OriginalArray = deleteElement (OriginalArray, deleteIndex);
Sistema.fuori.println ("array modificato:" + array.toString (originalArray));

Lo snippet di codice sopra ha eseguito le seguenti funzionalità:

  • Ha creato un array intero chiamato "OriginalArray", utilizzato il Scanner classe per ottenere l'array indice da eliminare e creato un metodo chiamato DelteElement() per restituire il file OriginalArray Nel caso in cui l'array sia vuoto o l'indice dell'array è fuori portata.
  • Successivamente, abbiamo creato un altro array chiamato "Secondarray" la cui lunghezza è meno dell'array originale e copia tutti gli elementi del "OriginalArray"(Tranne l'elemento/indice mirato) a"Secondarray".
  • Abbiamo utilizzato il per loop per confrontare l'indice corrente con l'indice da eliminare. Se l'indice corrente è uguale all'indice target, quell'indice verrà saltato e il ciclo verrà spostato all'indice successivo.
  • In questo modo, l'elemento specificato verrà eliminato dall'array dato.

Il seguito sarà l'output per lo snippet di codice sopra:

L'utente ha inserito "2", di conseguenza, il codice sopra specificato ha eliminato l'elemento presente al secondo indice (i.e. 50) dall'array originale.

Come eliminare l'elemento array usando i flussi Java8

Possiamo anche usare i flussi Java8 per eliminare gli elementi dell'array. Per fare ciò, prima convertiremo l'array in un flusso, quindi creeremo un nuovo array filtrato/modificato.

Esempio

Consideriamo il blocco di codice seguente per capire come eliminare gli elementi dell'array usando i flussi Java8:

Classe pubblica deleteArayElement
public static int [] deleteElement (int [] originalArray, int deleteIndex)
if (originalarray == null || deleteIndex < 0 || deleteIndex >=
OriginalArray.lunghezza)

restituire OriginalArray;

restituire intstream.Range (0, OriginalArray.lunghezza).filtro (i -> i!= deleteIndex)
.mappa (i-> originalarray [i]).Toarray ();

public static void main (string [] args)
int [] originaliray = 30, 25, 50, 80, 20, 60;
Sistema.fuori.println ("Array originale:" + array.toString (originalArray));
Scanner Input = New Scanner (Sistema.In);
Sistema.fuori.println ("Immettere l'indice che si desidera eliminare");
int deleteIndex = input.NextInt ();
OriginalArray = deleteElement (OriginalArray, deleteIndex);
Sistema.fuori.println ("array modificato:" + array.toString (originalArray));

Il blocco di codice sopra ha eseguito le seguenti attività:

  • Abbiamo utilizzato l'intstream.Metodo intervallo () per convertire l'array in un flusso.
  • Successivamente, abbiamo utilizzato il metodo Filter () per rimuovere l'indice dell'array target.
  • Infine, abbiamo utilizzato i metodi MAP () e ToArray () per creare un nuovo array filtrato/modificato.

Il codice completo e l'output corrispondente saranno qualcosa del genere:

Ecco come possiamo usare i flussi Java8 per eliminare gli elementi dell'array.

Conclusione

In Java, possono essere utilizzati più approcci per eliminare gli elementi dell'array come il metodo Rimozione () di classe ArrayList, Filter () Metodo dei flussi Java8, ecc. Inoltre, in Java, possono essere utilizzati più array per eliminare un elemento specifico di un array. Questo articolo ha presentato una guida dettagliata per eliminare gli elementi dell'array in Java. Per una migliore comprensione, ha spiegato ogni metodo con l'aiuto di esempi adeguati.