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:
- Obtenga la array y la clave.
- Filtrar todos los elementos de la lista que son iguales a una clave dada
- Convierta la lista nuevamente en una array y devuélvala.
Usando Java ArrayList:
- Obtenga la array y la clave.
- Crear una ArrayList vacía
- Inserte todos los elementos de la array en la lista excepto la clave especificada
- Convierta la lista nuevamente en una array y devuélvala.
Enfoque alternativo:
- Primero cree una lista de arrays.
- Elimina todos los elementos de la array en la lista que son la clave especificada.
- Convierta la lista nuevamente en una array y devuélvala.
Usando List.removeAll():
- Primero cree una lista vacía de array.
- Insertar todos los elementos de la array en la lista
- Eliminar todos los elementos que desea eliminar
- Convierta la lista nuevamente en una array y devuélvala.
Usando List.removeIf():
- Primero cree una lista vacía de array.
- Insertar todos los elementos de la array en la lista
- Elimine todos los elementos que desea eliminar utilizando el método equals()
- Convierta la lista nuevamente en una array y devuélvala.