La meilleure façon d'enlever un objet à partir d'un tableau dans le Traitement de
Je souhaite vraiment que le Traitement avait pousser et pop méthodes pour travailler avec les Tableaux, mais depuis il ne me reste à essayer de comprendre la meilleure façon de supprimer un objet à une position donnée dans un tableau. Je suis sûr que c'est aussi simple qu'il obtient pour beaucoup de gens, mais je pourrais utiliser un peu d'aide avec elle, et je n'ai pas été en mesure de comprendre beaucoup par la navigation sur le Traitement de référence.
Je ne pense pas que c'est important, mais, pour votre information voici le code que j'ai utilisé pour ajouter les objets au départ:
Flower[] flowers = new Flower[0];
for (int i=0; i < 20; i++)
{
Flower fl = new Flower();
flowers = (Flower[]) expand(flowers, flowers.length + 1);
flowers[flowers.length - 1] = fl;
}
Pour le bien de cette question, supposons que je veux supprimer un objet d'une position 15. Merci, les gars.
OriginalL'auteur cmal | 2010-03-17
Vous devez vous connecter pour publier un commentaire.
Je pense que votre meilleur pari est d'utiliser arraycopy. Vous pouvez utiliser le même tableau pour la src et dest. Quelque chose comme ce qui suit (non testé):
OriginalL'auteur MPG
Vous pouvez aussi envisager d'utiliser ArrayList qui a plus de méthodes disponibles qu'un simple tableau.
Vous pouvez supprimer le quinzième élément à l'aide d'
myArrayList.remove(14)
Est-ce de travailler pour un tableau d'objets? J'obtiens un "Ne peut pas invoquer les supprimer(int) sur le type de tableau de nom de fichier.SomeClass[]"
OriginalL'auteur Brendan
Je sais que cette question a été posée il y a longtemps cependant, il semble que beaucoup de gens sont toujours à la recherche de la réponse. J'ai juste écrit ce. Je l'ai testé un peu de moyens et il semble fonctionner comme je le voulais.
Qui est une façon. Je suppose que vous pourriez parcourir le tableau. Quelque chose comme ...
... pense que cela devrait fonctionner aussi. Espérons que cela aide quelqu'un qui en a besoin.
OriginalL'auteur Chris Berthiaume