Supprimer l'élément du tableau, puis déplacer d'autres éléments en Java

Rupam Yadav 12 octobre 2023
  1. Utilisez la boucle for pour supprimer l’élément du tableau et Shift en Java
  2. Utilisez System.arraycopy() pour supprimer l’élément du tableau et Shift en Java
  3. Utilisez ArrayList pour supprimer l’élément du tableau et Shift en Java
Supprimer l'élément du tableau, puis déplacer d'autres éléments 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
Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

Article connexe - Java Array