Quelle est la meilleure façon de convertir un tableau d'objet en vecteur?
JDE <1.5 P> this.elements est un objet [] p> < p> merci,
Rayt P> Je devrais clarifier ma question forte> p> Ma plate-forme cible est une blackberry. p> Les collections ne sont pas prises en charge. Array.Anlist () n'est pas, non plus: / p> classe complète p>
6 Réponses :
Copiez les éléments de tableau sur le vecteur code> p> p> li>
Utiliser arranges.aslist (...) code> Pour renvoyer une liste
code>, qui n'est pas exactement un
vecteur code>, mais Vous devez coder la liste code> interface code> quand même. p> li>
ol>
Donc, aucun moyen autour d'une boucle?
Je suggère une option 2 sauf qu'il convient de noter que cela ne prend pas une copie de la matrice, elle ne l'enveloppe que. Je ne suggérerais pas l'option 1 I.e. N'utilisez pas de vecteur à moins que vous n'ayez vraiment besoin.
@rayt: Même s'il y avait une fonction intégrée à le faire, il utiliserait toujours une boucle pour les scènes. Il n'y a pas de magie :)
return new Vector(0) {{ this.elementData = (Object[])elements.clone(); this.elementCount = this.elementData.length; }};
Wow, deuxième solution semble, tellement élégante!
Je pense que "inventif" a besoin de citations. :)
Dans J2ME, vous êtes coincé itératant sur le tableau et ajoutez les éléments un par un.
Vector v = new Vector(); for (int i = 0; i < this.elements.length; i++) { v.add(this.elements[i]); }
Devrais-je comprendre pourquoi la recherche dans la motion fournit quelque chose comme trierreadablocaliste qui a une méthode de chargement, mais aucune méthode de LoadPo ?! :)
IMHO Votre seule option viable est la suivante:
public Vector getListElements() Vector vector = new Vector(this.elements.length); for (int i = 0; i < this.elements.length; i++) { vector.add(this.elements[i]); } return vector; }
Oui, semble comme ça. Aller à sucer la copie de 1000 objets et plus dans le tableau des objets.
Si vous êtes inquiet à ce sujet, vous pourriez lancer dans une prise initiale d'éléments. Longueur au constructeur de vecteur.
Un comparateur simplifié qui fait fondamentalement la même chose. en utilisant des génériques et?: ce serait juste p> mais pour répondre à votre question ... (oh je vois tom a ce que Je voudrais déjà mettre déjà) p> p>
Les génériques ne sont pas pris en charge dans ma version Java, non plus! Mais merci pour l'indice +1
Un moyen raisonnablement concis de le faire est quelque chose comme:
Object[] xx = { 1, "cat", new Point(100,200) }; Vector vv = new Vector(Arrays.asList(xx)); System.out.println("vv=="+vv.toString());