Eliminar elemento del array y luego cambiar otros elementos en Java
-
Utilice el bucle
for
para eliminar el elemento del array y cambiar en Java -
Utilice
System.arraycopy()
para eliminar el elemento del array y Shift en Java -
Utilice
ArrayList
para eliminar el elemento del array y Shift en Java
Array en Java es una colección de elementos del mismo tipo de tamaño fijo. Java proporciona varios métodos para realizar diferentes manipulaciones relacionadas con un array.
Utilice el bucle for
para eliminar el elemento del array y cambiar en Java
En este enfoque, usamos múltiples bucles for
para recorrer todos los elementos del arr
y verificar el elemento que queremos eliminar. Cuando se encuentra el elemento a eliminar, creamos un nuevo Array newArr
con el tamaño arr.length-1
. Ejecutamos otro bucle para copiar todos los elementos antes del índice en el que está elementToBeDeleted
.
Después de esto, ejecutamos otro bucle para copiar los elementos restantes del array después del elementToBeDeleted
, dejando el que tenemos que eliminar.
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {3, 1, 6, 5, 2, 8, 4};
int[] newArr = null;
int elementToBeDeleted = 5;
System.out.println("Original Array is: " + Arrays.toString(arr));
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] == elementToBeDeleted) {
newArr = new int[arr.length - 1];
for (int index = 0; index < i; index++) {
newArr[index] = arr[index];
}
for (int j = i; j < arr.length - 1; j++) {
newArr[j] = arr[j + 1];
}
break;
}
}
System.out.println("New Array after deleting element = " + elementToBeDeleted
+ " and shifting: " + Arrays.toString(newArr));
}
}
Producción :
Original Array is: [3, 1, 6, 5, 2, 8, 4]
New Array after deleting element = 5 and shifting: [3, 1, 6, 2, 8, 4]
Utilice System.arraycopy()
para eliminar el elemento del array y Shift en Java
El System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
copia el array de origen en el array de destino, iniciando la acción de copia desde la posición de la fuente a la posición del destino, hasta la longitud dada.
Aquí, pasamos nuestra matriz de origen arr
a un método removeElement
que ejecuta dos métodos System.copy()
. Creamos arrDestination
con una longitud de 1 menos que la longitud de arr
cuando se elimina un elemento.
Primero, copiamos los elementos antes del índice 2
ya que tenemos que eliminar 6 de arr
. A continuación, obtenga los elementos restantes que existen después del índice del elemento que pretendíamos eliminar.
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {3, 1, 6, 5, 2, 8, 4};
removeElement(arr, 2);
}
public static void removeElement(int[] arr, int index) {
int[] arrDestination = new int[arr.length - 1];
int remainingElements = arr.length - (index + 1);
System.arraycopy(arr, 0, arrDestination, 0, index);
System.arraycopy(arr, index + 1, arrDestination, index, remainingElements);
System.out.println("Elements -- " + Arrays.toString(arrDestination));
}
}
Producción :
Elements -- [3, 1, 5, 2, 8, 4]
Utilice ArrayList
para eliminar el elemento del array y Shift en Java
Podemos convertir una Array
en una ArrayList
para eliminar un elemento del array, y la propia ArrayList
se encargaría de la mezcla.
En el código siguiente, creamos un array de objetos Integer
arr
. Luego pasamos el array y el índice del elemento a eliminar al método removeElementUsingCollection
, que manipula el array y devuelve un array de objetos.
el array pasada se convierte en una ArrayList tempList
y la llamada al método remove()
elimina el elemento en el índice especificado de la lista. Devuelve la lista convertida de nuevo a un array.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[] args) {
Integer[] arr = {3, 1, 6, 5, 2, 8, 4};
int elementToBeDeleted = 2;
System.out.println("Original Array " + Arrays.toString(arr));
for (int i = 0; i < arr.length; i++) {
if (arr[i] == elementToBeDeleted) {
arr = removeElementUsingCollection(arr, i);
break;
}
}
System.out.println("Array after removing element : " + elementToBeDeleted + " -- ");
for (int i = 0; i < arr.length; i++) {
System.out.print(" " + arr[i]);
}
}
public static Integer[] removeElementUsingCollection(Integer[] arr, int index) {
List<Integer> tempList = new ArrayList<Integer>(Arrays.asList(arr));
tempList.remove(index);
return tempList.toArray(new Integer[0]);
}
}
Producción :
Original Array [3, 1, 6, 5, 2, 8, 4]
Array after removing element : 2 --
3 1 6 5 8 4
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn