Suppression d'objets d'un tableau en Java
En Java, les tableaux sont des collections d'éléments de longueur fixe. Lorsque vous devez supprimer un objet d'un tableau, il n'existe pas de méthode intégrée simple pour le faire.
Considérez un tableau de chaînes :
String[] foo = { "a", "cc", "a", "dd" };
Solution : Array vers la liste et retour
Une approche pour supprimer des objets d'un tableau consiste à le convertir en liste, à modifier la liste, puis à la reconvertir en un tableau.
List<String> list = new ArrayList<>(Arrays.asList(foo)); list.removeAll(Arrays.asList("a")); foo = list.toArray(foo);
Ce processus conserve la taille du tableau d'origine, les éléments après le dernier élément restant étant définis sur null.
Solution : nouveau tableau à partir de la liste
Si vous souhaitez un nouveau tableau exactement de la taille nécessaire, vous pouvez faire le suivant :
foo = list.toArray(new String[list.size()]);
Utilisation de réutilisables
Pour une utilisation fréquente, vous pouvez envisager de créer une constante de tableau de chaînes vide prédéfinie :
private static final String[] EMPTY_STRING_ARRAY = new String[0];
Ensuite, la fonction de suppression peut être réécrite comme :
List<String> list = new ArrayList<> (); Collections.addAll(list, foo); list.removeAll(Arrays.asList("a")); foo = list.toArray(EMPTY_STRING_ARRAY);
Alternativement, vous pouvez utiliser l'approche suggérée par homme cynique :
foo = list.toArray(new String[list.size()]);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!