remove delete an element from an array java
Découvrez diverses méthodes pour supprimer ou supprimer un élément d'un tableau en Java, comme l'utilisation d'un autre tableau, l'utilisation de flux Java 8, l'utilisation de ArrayList:
Les tableaux Java ne fournissent pas de méthode de suppression directe pour supprimer un élément. En fait, nous avons déjà discuté du fait que les tableaux en Java sont statiques, de sorte que la taille des tableaux ne peut pas changer une fois qu'ils sont instanciés. Ainsi, nous ne pouvons pas supprimer un élément et réduire la taille du tableau.
Donc, si nous voulons supprimer ou supprimer un élément du tableau, nous devons utiliser différentes méthodes qui sont généralement des solutions de contournement.
=> Voir la série complète de didacticiels de formation Java pour les débutants
Ce que vous apprendrez:
Supprimer / Supprimer un élément d'un tableau en Java
Dans ce tutoriel, nous discuterons des différentes méthodes pour supprimer un élément d'un tableau.
Il comprend:
- Utilisation d'une autre baie
- Utilisation des flux Java 8
- Utilisation de ArrayList
- Utilisation de System.arraycopy ()
Utilisation d'une autre baie
Il s'agit de la méthode traditionnelle et quelque peu inefficace de suppression d'un élément de tableau. Ici, nous définissons un nouveau tableau avec une taille inférieure à 1 par rapport au tableau d'origine. Ensuite, nous copions les éléments du tableau d'origine vers le nouveau tableau. Mais lors de cette copie, nous sautons l'élément à l'index spécifié.
De cette façon, nous copions tous les éléments sauf l'élément à supprimer dans le nouveau tableau indiquant que l'élément est supprimé.
Nous pouvons représenter cette opération sous forme d'image comme indiqué ci-dessous.
Implémentons cette méthode dans un programme Java.
import java.util.Arrays; class Main { public static void main(String() args) { // define original array int() tensArray = { 10,20,30,40,50,60}; // Print the original array System.out.println('Original Array: ' + Arrays.toString(tensArray)); // the index at which the element in the array is to be removed int rm_index = 2; // display index System.out.println('Element to be removed at index: ' + rm_index); // if array is empty or index is out of bounds, removal is not possible if (tensArray == null || rm_index<0 || rm_index>= tensArray.length) { System.out.println('No removal operation can be performed!!'); } // Create a proxy array of size one less than original array int() proxyArray = new int(tensArray.length - 1); // copy all the elements in the original to proxy array except the one at index for (int i = 0, k = 0; i Production:
Utilisation des flux Java 8
Les flux sont un nouvel ajout à Java à partir de la version 8. En utilisant les flux Java8, nous pouvons supprimer un élément d'un tableau. Pour ce faire, tout d'abord, le tableau est converti en flux. Ensuite, l'élément à l'index spécifié est supprimé à l'aide de la méthode de filtrage des flux.
Une fois l'élément supprimé, à l'aide des méthodes «map» et «toArray», le flux est reconverti en tableau.
L'implémentation de la suppression d'un élément d'un tableau à l'aide de stream est illustrée ci-dessous.
import java.util.Arrays; import java.util.stream.IntStream; class Main { // Function to remove the element public static int() removeArrayElement(int() oddArray, int index) { //array is empty or index is beyond array bounds if (oddArray == null || index <0 || index>= oddArray.length) { return oddArray; } // delete the element at specified index and return the array return IntStream.range(0, oddArray.length) .filter(i -> i != index) .map(i ->oddArray(i)).toArray(); } public static void main(String() args) { int() oddArray = { 1, 3,5,7,9,11}; // define array of odd numbers System.out.println('Original Array: ' + Arrays.toString(oddArray)); // Print the resultant array int index = 2; // index at which element is to be removed System.out.println('Element to be removed at index: ' + index); // display index // function call removeArrayElement oddArray = removeArrayElement(oddArray, index); // Print the resultant array System.out.println('Array after deleting element: ' + Arrays.toString(oddArray)); } }
Production:
Utilisation de ArrayList
Nous pouvons utiliser une ArrayList pour effectuer cette opération. Pour supprimer un élément d’un tableau, nous convertissons d’abord le tableau en ArrayList, puis nous utilisons la méthode ‘remove’ de ArrayList pour supprimer l’élément à un index particulier.
Une fois supprimés, nous reconvertissons ArrayList en tableau.
L'implémentation suivante montre la suppression de l'élément d'un tableau à l'aide de ArrayList.
import java.util.*; import java.util.stream.*; class Main { public static int() remove_Element(int() myArray, int index) { if (myArray == null || index <0 || index>= myArray.length) { System.out.println('non-existing index'); return myArray; } //array to arrayList List arrayList = IntStream.of(myArray) .boxed().collect(Collectors.toList()); // Remove the specified element arrayList.remove(index); // return the resultant array returnarrayList.stream().mapToInt(Integer::intValue).toArray(); } public static void main(String() args) { int() myArray = { 11,22,33,44,55,66,77,88,99,111 }; System.out.println('Original Array: ' + Arrays.toString(myArray)); int index = 10; System.out.println('Index at which element is to be deleted: ' + index); myArray = remove_Element(myArray, index); System.out.println('Resultant Array: ' + Arrays.toString(myArray) + '
'); index = 2; System.out.println('Index at which element is to be deleted: ' + index); myArray = remove_Element(myArray, index); System.out.println('Resultant Array: ' + Arrays.toString(myArray)); } }
Production:
Le programme ci-dessus produit une sortie pour deux conditions. Tout d'abord, un index (10) non existant est passé, c'est-à-dire au-delà de la taille actuelle du tableau. Le programme affiche un message approprié et ne supprime aucun élément.
Dans le second cas, un index = 2 est passé. Cette fois, l'élément à la position 2 est supprimé et le tableau résultant est transmis.
Utilisation de System.arraycopy ()
Cette méthode est similaire à la première méthode sauf que nous utilisons la méthode ‘arrayCopy’ pour copier les éléments du tableau d’origine dans le nouveau tableau.
questions et réponses d'entrevue de support technique pour les novices
Tout d'abord, nous copions les éléments du tableau d'origine de 0 à l'index dans le nouveau tableau. Ensuite, nous copions les éléments de l'index + 1 jusqu'à la longueur dans le nouveau tableau. Ainsi, lors de la copie, nous sautons l'élément à l'index spécifié et générons un nouveau tableau.
Ce nouveau tableau indique le tableau résultant obtenu après la suppression d'un élément à l'index spécifié.
import java.util.Arrays; class Main { public static void main(String() args) { // define the array of integers int() intArray = { 10,20,30,40,50 }; // display the original array System.out.println('Original Array: ' + Arrays.toString(intArray)); // index at which the element is to be deleted int index = 2; // the index System.out.println('Element to be deleted at index: ' + index); // check if the array is empty or index is out of bounds if (intArray == null || index <0 || index>= intArray.length) { System.out.println('No removal operation can be performed!!'); } // create an array to hold elements after deletion int() copyArray = new int(intArray.length - 1); // copy elements from original array from beginning till index into copyArray System.arraycopy(intArray, 0, copyArray, 0, index); // copy elements from original array from index+1 till end into copyArray System.arraycopy(intArray, index + 1, copyArray, index, intArray.length - index - 1); // display the copied array after deletion System.out.println('Array after deleting an element: ' + Arrays.toString(copyArray)); } }
Production:
Questions fréquemment posées
Q # 1) Comment supprimer un élément d'un tableau?
Répondre: Java ne fournit pas de méthode directe pour supprimer un élément du tableau. Mais étant donné un index auquel l'élément doit être supprimé, nous pouvons utiliser ArrayList pour supprimer l'élément à l'index spécifié.
Pour cela, nous convertissons d'abord le tableau en ArrayList et en utilisant la méthode remove, nous supprimons l'élément. Une fois que cela est fait, nous reconvertissons ArrayList en tableau. Il existe également plusieurs autres solutions de contournement que nous pouvons utiliser à cette fin.
Q # 2) Que fait ArrayList remove?
Répondre: La méthode de suppression ArrayList supprime l'élément dans ArrayList à un index donné fourni en tant qu'argument.
VPN pour mes transactions cryptos
Q # 3) Comment supprimer les doublons d'un tableau en Java?
Répondre: Les éléments en double d'un tableau peuvent être supprimés en utilisant un tableau temporaire qui comptera les éléments un par un et ne placera que les éléments uniques dans le tableau temporaire. Un tableau doit être trié pour supprimer les doublons.
Q # 4) Le filtre renvoie-t-il un nouveau tableau?
Répondre: Oui. Filter renvoie le nouveau tableau sans affecter le tableau d'origine.
Q # 5) Comment R emove travailler en Java?
Répondre: La méthode remove de ArrayList en Java supprime l'élément à l'index spécifié. Dans la liste chaînée également, la méthode remove supprime le nœud à la position donnée.
Conclusion
Dans ce tutoriel, nous avons vu les différentes méthodes ou solutions de contournement à l'aide desquelles nous pouvons supprimer l'élément d'un tableau à un index donné.
Dans nos rubriques suivantes, nous discuterons d'autres opérations effectuées sur des tableaux en Java.
=> Consultez le guide de formation intensive Java ici
lecture recommandée
- Tutoriel Java Array Length avec des exemples de code
- Java Array - Comment imprimer des éléments d'un tableau en Java?
- Comment trier un tableau en Java - Tutoriel avec des exemples
- Java Array - Déclarer, créer et initialiser un tableau en Java
- Java Generic Array - Comment simuler des tableaux génériques en Java?
- Inverser un tableau en Java - 3 méthodes avec des exemples
- Tutoriel de réflexion Java avec des exemples
- Comment passer / retourner un tableau en Java