Como excluir elementos de matriz em java

Como excluir elementos de matriz em java
Matrizes são o conceito central de qualquer linguagem de programação, incluindo Java. Em Java, uma matriz de classe predefinida fornece inúmeros métodos para executar diferentes tarefas ou operações nas matrizes, como classificar, atravessar, pesquisar, etc. Mas você ficaria surpreso ao saber que a aula de matriz não forneceu nenhum método para excluir um elemento de matriz. Então, como excluir elementos de matriz em java?

Bem! Podemos adotar várias abordagens para excluir os elementos da matriz em Java, como o uso de várias matrizes, usando o ArrayList, etc.

Este artigo nos ajudará a excluir elementos da matriz e, para isso, explicará os métodos abaixo da lista:

  • Como excluir o elemento de matriz usando o método remove ()
  • Como excluir o elemento de matriz usando várias matrizes
  • Como excluir o elemento de matriz usando fluxos Java8

Então, vamos começar!

Como excluir o elemento de matriz usando o método remove ()

É um método predefinido da classe Arraylist que pode ser usada para excluir os elementos da matriz. Para excluir o elemento da matriz usando remover() Método, primeiro, temos que converter a matriz em um ArrayList. Depois que a matriz é convertida em uma lista de Array, podemos utilizar o método Remover () da classe Arraylist para excluir os elementos da matriz.

Exemplo

Vamos considerar o snippet de código abaixo para entender como usar o método Remover () da classe Arraylist com matrizes para excluir algum elemento específico de uma matriz:

classe pública DeleteArrayElement
public static int [] deleteElement (int [] originalArray, int DeleteIndex)
if (originalArray == NULL || DeleteIndex < 0 || deleteIndex >=
OriginalArray.comprimento)

Retornar OriginalArray;

Lista ElementList = Intstream.de (OriginalArray).caixa () .Colete (colecionadores.listar());
elementList.remover (deleteIndex);
Retornar ElementList.fluxo().Maptoint (Integer :: Intvalue).toArray ();

public static void main (string [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
Sistema.fora.println ("Array original:" + matrizes.toString (OriginalArray));
Scanner Input = New Scanner (sistema.em);
Sistema.fora.println ("Digite o índice que você deseja excluir");
int deLeteIndex = entrada.nextInt ();
originalArray = deleteElement (OriginalArray, DeleteIndex);
Sistema.fora.println ("Matriz modificada:" + matrizes.toString (OriginalArray));

Neste programa Java, executamos as seguintes tarefas:

  • Criou uma matriz inteira nomeada “OriginalArray” e atribuiu seis elementos a essa matriz.
  • Utilizou o Scanner classe para obter a matriz índice a ser excluído do usuário.
  • Criou um método chamado deleteElement() que retornará o OriginalArray Se a matriz estiver vazia ou se o índice de matriz estiver fora de alcance.
  • Criou uma lista de Array chamada “elementList"Que contém os elementos do"OriginalArray”.
  • Em seguida, utilizamos o remover() Método para excluir o índice fornecido.
  • Depois, utilizamos o Maptoint () e ToArray () Métodos para criar uma nova matriz.

Como resultado, obteremos a seguinte saída:

A saída mostra que o método Remone () conseguiu excluir o elemento de matriz especificado da matriz original.

Como usar várias matrizes para excluir elementos de matriz

Em Java, podemos utilizar várias matrizes para excluir um elemento de matriz. É uma das abordagens mais simples para excluir um elemento de matriz que diz:

  • Encontre o elemento direcionado no índice específico.
  • Exclua esse elemento.
  • Copie os elementos restantes para a nova matriz.

Dessa forma, a matriz recém -criada terá um tamanho menor que a matriz original.

Exemplo

Vamos considerar o seguinte snippet de código para a profunda compreensão desse conceito:

Pacote DeleteArrayElement;
importar java.util.Matrizes;
importar java.util.Scanner;
classe pública DeleteArrayElement
public static int [] deleteElement (int [] originalArray, int DeleteIndex)
if (originalArray == NULL || DeleteIndex < 0 || deleteIndex >= OriginalArray.comprimento)

Retornar OriginalArray;

int [] secondArray = new int [originalArray.comprimento - 1];
para (int i = 0, j = 0; i < originalArray.length; i++)
if (i == deleteIndex)
continuar;

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

retornar secondArray;

public static void main (string [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
Sistema.fora.println ("Array original:"+ matrizes.toString (OriginalArray));
Scanner Input = New Scanner (sistema.em);
Sistema.fora.println ("Digite o índice que você deseja excluir");
int deLeteIndex = entrada.nextInt ();
originalArray = deleteElement (OriginalArray, DeleteIndex);
Sistema.fora.println ("Matriz modificada:" + matrizes.toString (OriginalArray));

O snippet de código acima executou as seguintes funcionalidades:

  • Criou uma matriz inteira nomeada “OriginalArray”, utilizou o Scanner classe para obter a matriz índice para ser excluído e criou um método chamado deleteElement() para devolver o OriginalArray Caso a matriz esteja vazia ou o índice de matriz esteja fora de alcance.
  • Em seguida, criamos outra matriz chamada “SecondArray” cujo comprimento é menos que a matriz original e copiou todos os elementos do “OriginalArray”(Exceto o elemento/índice direcionado) para o“SecondArray”.
  • Utilizamos o loop para comparar o índice atual com o índice a ser excluído. Se o índice atual for igual ao índice alvo, esse índice será ignorado e o loop será movido para o próximo índice.
  • Dessa forma, o elemento especificado será excluído da matriz fornecida.

A seguir, será a saída para o trecho de código acima:

O usuário inseriu "2", consequentemente, o código acima especificado excluiu o elemento presente no segundo índice (i.e. 50) da matriz original.

Como excluir o elemento de matriz usando fluxos Java8

Também podemos usar os fluxos Java8 para excluir os elementos da matriz. Para fazer isso, primeiro converteremos a matriz em um fluxo, depois criaremos uma nova matriz filtrada/modificada.

Exemplo

Vamos considerar o bloco de código abaixo para entender como excluir elementos de matriz usando fluxos Java8:

classe pública DeleteArrayElement
public static int [] deleteElement (int [] originalArray, int DeleteIndex)
if (originalArray == NULL || DeleteIndex < 0 || deleteIndex >=
OriginalArray.comprimento)

Retornar OriginalArray;

retornar intstream.Range (0, OriginalArray.comprimento).filtro (i -> i!= deleteIndex)
.mapa (i-> originalArray [i]).toArray ();

public static void main (string [] args)
int [] originalArray = 30, 25, 50, 80, 20, 60;
Sistema.fora.println ("Array original:" + matrizes.toString (OriginalArray));
Scanner Input = New Scanner (sistema.em);
Sistema.fora.println ("Digite o índice que você deseja excluir");
int deLeteIndex = entrada.nextInt ();
originalArray = deleteElement (OriginalArray, DeleteIndex);
Sistema.fora.println ("Matriz modificada:" + matrizes.toString (OriginalArray));

O bloco de código acima executou as seguintes tarefas:

  • Utilizamos o Intstream.range () método para converter a matriz em um fluxo.
  • Em seguida, utilizamos o método filtro () para remover o índice de matriz direcionado.
  • Finalmente, utilizamos os métodos MAP () e ToArray () para criar uma nova matriz filtrada/modificada.

O código completo e a saída correspondente serão algo assim:

É assim que podemos usar os fluxos Java8 para excluir os elementos da matriz.

Conclusão

Em Java, várias abordagens podem ser usadas para excluir os elementos da matriz, como o método Remone () da classe Arraylist, o método filtro () dos fluxos java8, etc. Além disso, em Java, várias matrizes podem ser usadas para excluir algum elemento específico de uma matriz. Esta redação apresentou um guia detalhado para excluir os elementos da matriz em Java. Para uma melhor compreensão, explicou cada método com a ajuda de exemplos adequados.