Supprimer l'élément du tableau, puis déplacer d'autres éléments en Java
-
Utilisez la boucle
for
pour supprimer l’élément du tableau et Shift en Java -
Utilisez
System.arraycopy()
pour supprimer l’élément du tableau et Shift en Java -
Utilisez
ArrayList
pour supprimer l’élément du tableau et Shift en Java
Un tableau en Java est une collection de taille fixe d’éléments du même type. Java fournit diverses méthodes pour effectuer différentes manipulations liées à un tableau.
Utilisez la boucle for
pour supprimer l’élément du tableau et Shift en Java
Dans cette approche, nous utilisons plusieurs boucles for
pour parcourir tous les éléments du arr
et rechercher l’élément que nous voulons supprimer. Lorsque l’élément à supprimer est trouvé, nous créons un nouveau Array newArr
avec la taille arr.length-1
. Nous exécutons une autre boucle pour copier tous les éléments avant l’index auquel se trouve elementToBeDeleted
.
Après cela, nous exécutons une autre boucle pour copier les éléments restants du tableau après le elementToBeDeleted
, en laissant celui que nous devons supprimer.
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));
}
}
Production:
Original Array is: [3, 1, 6, 5, 2, 8, 4]
New Array after deleting element = 5 and shifting: [3, 1, 6, 2, 8, 4]
Utilisez System.arraycopy()
pour supprimer l’élément du tableau et Shift en Java
Le System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
copie le tableau source dans le tableau de destination, en commençant l’action de copie de la position de la source à la position de la destination, jusqu’à la longueur donnée.
Ici, nous passons notre tableau source arr
à une méthode removeElement
qui exécute deux méthodes System.copy()
. Nous créons arrDestination
avec une longueur de 1 inférieure à la longueur de arr
car un élément est supprimé.
Tout d’abord, nous copions les éléments avant l’index 2
car nous devons supprimer 6 de arr
. Ensuite, récupérez les éléments restants qui existent après l’index de l’élément que nous voulions supprimer.
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));
}
}
Production:
Elements -- [3, 1, 5, 2, 8, 4]
Utilisez ArrayList
pour supprimer l’élément du tableau et Shift en Java
Nous pouvons convertir un Array
en un ArrayList
pour supprimer un élément du tableau, et le brassage serait pris en charge par le ArrayList
lui-même.
Dans le code ci-dessous, nous créons un tableau d’objets Integer
arr
. On passe ensuite le tableau et l’indice de l’élément à supprimer à la méthode removeElementUsingCollection
, qui manipule le tableau et retourne un objet tableau.
Le tableau passé est converti en un ArrayList tempList
et l’appel de la méthode remove()
supprime l’élément à l’index spécifié de la liste. Il renvoie la liste reconvertie en tableau.
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]);
}
}
Production:
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