8
votes

Comment supprimer l'élément d'un tableau

J'ai un tableau par exemple:

{{"a","1"},
 {"c","1"}}


2 commentaires

Vous feriez mieux d'utiliser un ArrayList au lieu d'un tableau.


duplicailler possible de Comment puis-je supprimer des objets d'un tableau dans Java?


4 Réponses :


7
votes

Il n'y a pas de place intégrée pour "supprimer" des éléments d'un tableau Java régulier.

Ce que vous voulez utiliser est un < Code> ArrayList .


0 commentaires

2
votes

Vous pouvez définir l'entrée dans la matrice sur null ( Test [0] [1] = null; ). Toutefois, "Supprimer" l'article de sorte que le tableau aura un élément de moins qu'auparavant n'est pas faisable sans recréer la matrice. Si vous envisagez de modifier régulièrement des données dans la structure de données, une liste (ou une autre classe de collecte en fonction de vos besoins) pourrait être plus pratique.


0 commentaires

12
votes

Vous ne pouvez pas supprimer un élément d'un tableau. La taille d'un tableau Java est déterminée lorsque la matrice est allouée et ne peut pas être modifiée. Le meilleur que vous puissiez faire est:

  • Attribuer null code> au tableau à la position correspondante; E.g. P>

    String[][] tmp = new String[test.length - 1][];
    int j = 0;
    for (int i = 0; i < test.length; i++) {
        if (i != indexOfItemToRemove) {
            tmp[j++] = test[i];
        }
    }
    test = tmp;
    
  • créer un nouveau tableau avec l'élément retiré; E.g. P>

    test[1] = null;
    


0 commentaires

0
votes

Ma solution est la suivante:

Vous ne pouvez pas supprimer un élément d'un tableau => C'est correct, mais nous pouvons faire quelque chose pour changer la matrice actuelle. P>

for (int i = 0; i < test.length-1; i++) {
                if (i<IndexToRemove){
                    temp[i]=test[i];
                }else if (i==IndexToRemove){
                    temp[i]=test[i+1];
                }else {
                    temp[i]=test[i+1];
                }
}
test = temp;


0 commentaires