10
votes

Java Convertir Object [] Array au vecteur

Quelle est la meilleure façon de convertir un tableau d'objet en vecteur?

JDE <1.5 xxx

this.elements est un objet [] < p> merci, Rayt

Je devrais clarifier ma question

Ma plate-forme cible est une blackberry.

Les collections ne sont pas prises en charge. Array.Anlist () n'est pas, non plus: /

classe complète xxx


0 commentaires

6 Réponses :


1
votes
  1. Copiez les éléments de tableau sur le vecteur

  2. Utiliser arranges.aslist (...) Pour renvoyer une liste , qui n'est pas exactement un vecteur , mais Vous devez coder la liste interface quand même.


3 commentaires

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 :)



36
votes
return new Vector(0) {{
    this.elementData = (Object[])elements.clone();
    this.elementCount = this.elementData.length;
}};

2 commentaires

Wow, deuxième solution semble, tellement élégante!


Je pense que "inventif" a besoin de citations. :)



2
votes

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]);
}


1 commentaires

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 ?! :)



1
votes

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;
}


2 commentaires

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.



1
votes

Un comparateur simplifié qui fait fondamentalement la même chose. xxx

en utilisant des génériques et?: ce serait juste xxx

mais pour répondre à votre question ... (oh je vois tom a ce que Je voudrais déjà mettre déjà)


1 commentaires

Les génériques ne sont pas pris en charge dans ma version Java, non plus! Mais merci pour l'indice +1



0
votes

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());


0 commentaires