Eliminar todas las apariciones de un elemento de Array en Java

Dada una array y una clave, la tarea es eliminar todas las apariciones de la clave especificada de la array en Java. Ejemplos:

Input: array = { 3, 9, 2, 3, 1, 7, 2, 3, 5 }, key = 3
Output: [9, 2, 1, 7, 2, 5]

Input: array = { 10, 20, 10, 30, 50, 10 }, key = 10
Output: [20, 30, 50]

Usando Arrays.copyOf :

JAVA

// Java program remove all occurrences
// of an element from Array using naive method
 
import java.util.Arrays;
 
class GFG {
 
    // function to remove all occurrences
    // of an element from an array
    public static int[] removeElements(int[] arr, int key)
    {
        // Move all other elements to beginning
        int index = 0;
        for (int i=0; i<arr.length; i++)
            if (arr[i] != key)
                arr[index++] = arr[i];
 
        // Create a copy of arr[]
        return Arrays.copyOf(arr, index);
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int[] array = { 3, 9, 2, 3, 1, 7, 2, 3, 5 };
        int key = 3;
        array = removeElements(array, key);
        System.out.println(Arrays.toString(array));
    }
}
Producción:

[9, 2, 1, 7, 2, 5]

Complejidad de tiempo: O(n)

Complejidad espacial: O(n)

Usando flujo de Java 8:

  1. Obtenga la array y la clave.
  2. Filtrar todos los elementos de la lista que son iguales a una clave dada
  3. Convierta la lista nuevamente en una array y devuélvala.

Usando Java ArrayList:

  1. Obtenga la array y la clave.
  2. Crear una ArrayList vacía
  3. Inserte todos los elementos de la array en la lista excepto la clave especificada
  4. Convierta la lista nuevamente en una array y devuélvala.

Enfoque alternativo:

  1. Primero cree una lista de arrays.
  2. Elimina todos los elementos de la array en la lista que son la clave especificada.
  3. Convierta la lista nuevamente en una array y devuélvala.

Usando List.removeAll():

  1. Primero cree una lista vacía de array.
  2. Insertar todos los elementos de la array en la lista
  3. Eliminar todos los elementos que desea eliminar
  4. Convierta la lista nuevamente en una array y devuélvala.

Usando List.removeIf():

  1. Primero cree una lista vacía de array.
  2. Insertar todos los elementos de la array en la lista
  3. Elimine todos los elementos que desea eliminar utilizando el método equals()
  4. Convierta la lista nuevamente en una array y devuélvala.

Publicación traducida automáticamente

Artículo escrito por Rajput-Ji y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *