Cómo eliminar elementos de matriz en Java

Cómo eliminar elementos de matriz en Java
Las matrices son el concepto central de cualquier lenguaje de programación que incluya Java. En Java, una matriz de clase predefinida proporciona numerosos métodos para realizar diferentes tareas u operaciones en las matrices, como clasificar, recorrer, buscar, etc. Pero se sorprendería al saber que la clase de matriz no proporcionó ningún método para eliminar un elemento de matriz. Entonces, cómo eliminar elementos de matriz en Java?

Bien! Podemos adoptar varios enfoques para eliminar los elementos de matriz en Java, como usar múltiples matrices, usar ArrayList, etc.

Este artículo nos ayudará a eliminar elementos de matriz y que lo haga, explicará los métodos que sean a continuación:

  • Cómo eliminar el elemento de matriz usando el método remove ()
  • Cómo eliminar el elemento de matriz usando múltiples matrices
  • Cómo eliminar el elemento de matriz usando transmisiones Java8

Vamos a empezar!

Cómo eliminar el elemento de matriz usando el método remove ()

Es un método predefinido de la clase ArrayList que se puede usar para eliminar los elementos de la matriz. Para eliminar el elemento de la matriz usando eliminar() Método, primero, tenemos que convertir la matriz en una lista de matrices. Una vez que la matriz se convierte en una lista de matrices, podemos utilizar el método remove () de la clase ArrayList para eliminar los elementos de la matriz.

Ejemplo

Consideremos el siguiente fragmento de código para comprender cómo usar el método Remout () de la clase ArrayList con matrices para eliminar algún elemento específico de una matriz:

clase pública DeletearRaRyElement
public static int [] DeleteElement (int [] originalArray, int deleteindex)
if (originalarray == null || deleteindex < 0 || deleteIndex >=
estreñido.longitud)

devolver OriginalArray;

Lista elementlist = intstream.de (OriginalArray).en caja () .recolectar (coleccionistas.Listar());
elemento.eliminar (eliminarindex);
return ElementList.arroyo().Maptoint (Integer :: intValue).toArray ();

public static void main (string [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
Sistema.afuera.println ("matriz original:" + matrices.toString (originalArray));
Entrada del escáner = nuevo escáner (sistema.en);
Sistema.afuera.println ("Ingrese el índice que desea eliminar");
int deleteindex = entrada.nextInt ();
OriginalArray = DeleteElement (OriginalArray, DeleteIndex);
Sistema.afuera.println ("matriz modificada:" + matrices.toString (originalArray));

En este programa Java realizamos las siguientes tareas:

  • Creó una matriz entera llamada "OriginalArray" y asignó seis elementos a esa matriz.
  • Utilizado el Escáner clase para obtener la matriz índice para ser eliminado del usuario.
  • Creó un método nombrado delemento() que devolverá el estreñador Si la matriz está vacía o si el índice de matriz está fuera de rango.
  • Creó una ArrayList llamada "elemento"Eso contiene los elementos del"estreñador".
  • A continuación, utilizamos el eliminar() método para eliminar el índice dado.
  • Después, utilizamos el Maptoint () y ToArray () Métodos para crear una nueva matriz.

Como resultado, obtendremos la siguiente salida:

La salida muestra que el método remove () logró eliminar el elemento de matriz especificado de la matriz original.

Cómo usar múltiples matrices para eliminar elementos de matriz

En Java, podemos utilizar múltiples matrices para eliminar un elemento de matriz. Es uno de los enfoques más simples para eliminar un elemento de matriz que dice:

  • Encuentre el elemento dirigido en el índice específico.
  • Eliminar ese elemento.
  • Copie los elementos restantes a la nueva matriz.

De esta manera, la matriz recién creada tendrá una talla menos que la matriz original.

Ejemplo

Consideremos el siguiente fragmento de código para la comprensión profunda de este concepto:

Paquete DeletearReAnelement;
importar java.utilizar.Matrices;
importar java.utilizar.Escáner;
clase pública DeletearRaRyElement
public static int [] DeleteElement (int [] originalArray, int deleteindex)
if (originalarray == null || deleteindex < 0 || deleteIndex >= OriginalArray.longitud)

devolver OriginalArray;

int [] SecondArray = new int [originalArray.longitud - 1];
para (int i = 0, j = 0; i < originalArray.length; i++)
if (i == deleteindex)
continuar;

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

regresar SecondArray;

public static void main (string [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
Sistema.afuera.println ("matriz original:"+ matrices.toString (originalArray));
Entrada del escáner = nuevo escáner (sistema.en);
Sistema.afuera.println ("Ingrese el índice que desea eliminar");
int deleteindex = entrada.nextInt ();
OriginalArray = DeleteElement (OriginalArray, DeleteIndex);
Sistema.afuera.println ("matriz modificada:" + matrices.toString (originalArray));

El fragmento de código anterior realizó las siguientes funcionalidades:

  • Creó una matriz entera llamada "OriginalArray", utilizado el Escáner clase para obtener la matriz índice para ser eliminado y creó un método llamado delemento() para devolver el estreñador En caso de que la matriz esté vacía o el índice de matriz esté fuera de rango.
  • A continuación, creamos otra matriz llamada "SecondArray" cuya longitud es una menos que la matriz original y copió todos los elementos del "estreñador"(Excepto el elemento/índice dirigido) al"Segundo estrecho".
  • Utilizamos el for-loop para comparar el índice actual con el índice a eliminar. Si el índice actual es igual al índice objetivo, entonces se omitirá ese índice y el bucle se moverá al siguiente índice.
  • De esta manera, el elemento especificado se eliminará de la matriz dada.

El siguiente será la salida del fragmento de código anterior:

El usuario ingresó "2", en consecuencia, el código especificado anteriormente eliminó el elemento presente en el segundo índice (i.mi. 50) De la matriz original.

Cómo eliminar el elemento de matriz usando transmisiones Java8

También podemos usar las transmisiones Java8 para eliminar los elementos de la matriz. Para hacerlo, primero convertiremos la matriz en una secuencia, luego crearemos una nueva matriz filtrada/modificada.

Ejemplo

Consideremos el siguiente bloque de código para comprender cómo eliminar elementos de matriz usando transmisiones Java8:

clase pública DeletearRaRyElement
public static int [] DeleteElement (int [] originalArray, int deleteindex)
if (originalarray == null || deleteindex < 0 || deleteIndex >=
estreñador.longitud)

devolver OriginalArray;

return intstream.rango (0, OriginalArray.longitud).Filtro (i -> i!= DeleteIndex)
.mapa (i-> OriginalArray [i]).toArray ();

public static void main (string [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
Sistema.afuera.println ("matriz original:" + matrices.toString (originalArray));
Entrada del escáner = nuevo escáner (sistema.en);
Sistema.afuera.println ("Ingrese el índice que desea eliminar");
int deleteindex = entrada.nextInt ();
OriginalArray = DeleteElement (OriginalArray, DeleteIndex);
Sistema.afuera.println ("matriz modificada:" + matrices.toString (originalArray));

El bloque de código anterior realizó las siguientes tareas:

  • Utilizamos el intstream.Método de rango () para convertir la matriz en una transmisión.
  • A continuación, utilizamos el método Filter () para eliminar el índice de matriz dirigido.
  • Finalmente, utilizamos los métodos map () y toArray () para crear una nueva matriz filtrada/modificada.

El código completo y la salida correspondiente serán algo como esto:

Así es como podemos usar las transmisiones Java8 para eliminar los elementos de la matriz.

Conclusión

En Java, se pueden utilizar múltiples enfoques para eliminar los elementos de matriz, como el método remove () de la clase ArrayList, el método Filter () de las secuencias Java8, etc. Además, en Java, se pueden usar múltiples matrices para eliminar un elemento específico de una matriz. Este artículo presentó una guía detallada para eliminar los elementos de matriz en Java. Para una mejor comprensión, explicó cada método con la ayuda de ejemplos adecuados.