Java Convert Object [] Array en vecteur
Quel est le meilleur moyen de convertir un tableau d'Objets à un Vecteur?
JDE < 1.5
public Vector getListElements()
{
Vector myVector = this.elements;
return myVector;
}
.les éléments de est un Objet[]
Grâce,
rAyt
Je me dois de préciser ma question
Ma plate-forme cible est un blackberry.
Collections ne sont pas pris en charge. Tableau.asList() n'est pas, non plus :/
Complet De La Classe
package CustomElements;
import net.rim.device.api.ui.component .*;
import net.rim.device.api.collection.util.*;
import net.rim.device.api.util.*;
import java.util.*;
public class ContactsList extends SortedReadableList implements KeywordProvider
{
//Constructor
public ContactsList(Vector contacts)
{
super(new ContactsListComparatorByFirstName());
loadFrom(contacts.elements());
}
//Add Element to ContactsSortedReadableList
void addElement(Object element)
{
doAdd(element);
}
public Vector getListElements()
{
return new Vector(Collection
Vector test = this.getElements();
}
//getKeywords
public String[] getKeywords(Object element)
{
return StringUtilities.stringToWords(((Contact)element).get_contactFirstName());
//return StringUtilities.stringToWords(element.toString());
}
// Comparator sorting Contact objects by name
final static class ContactsListComparatorByFirstName implements Comparator
{
public int compare(Object o1, Object o2)
{
//Sticky Entries Implementation
if(((ContactsListObject)o2).getSticky())
{
return 1;
} else
if (((ContactsListObject)o1).getSticky())
{
return -1;
} else
{
if(((ContactsListObject)o1).get_contactFirstName().compareTo(((ContactsListObject)o2).get_contactFirstName()) <0)
{
return -1;
}
if(((ContactsListObject)o1).get_contactFirstName().compareTo(((ContactsListObject)o2).get_contactFirstName()) >0)
{
return 1;
}
else
{
return 0;
}
}
}
}
}
source d'informationauteur Henrik P. Hessel
Vous devez vous connecter pour publier un commentaire.
Maintenant, il peut sembler comme si vous copiez des données deux fois, mais vous ne l'êtes pas. Vous obtenez un petit objet temporaire (un
List
deasList
), mais cela donne une vue de l'ensemble. Au lieu de le copier, de lire et d'écrire les opérations de passer par le tableau d'origine.Il est possible de s'étend
Vector
et fourrer saprotected
champs. Ce serait donner un moyen relativement simple d'avoir laVector
devenir une vue sur le tableau, commeArrays.asList
. Sinon, juste de la copie de données dans les champs. Pour Java ME, c'est à peu près aussi bon qu'il obtient sans avoir à écrire de l'évidence de la boucle. Code non testé:Bien sûr, vous êtes probablement mieux avec un
List
qu'unVector
. 1.4 a terminé sa Fin de Vie. Même 1.5 a réalisé la plupart de ses EOSL période.En J2ME, vous êtes coincé à parcourir le tableau et ajouter les éléments un par un.
Simplifié de comparaison qui n'est fondamentalement la même chose.
L'utilisation de génériques et ?: il serait juste
Mais pour répondre à votre question... (oh, je vois Tom a ce que je mettrais déjà)
à mon humble avis, votre seule option viable est:
Copier les éléments d'un tableau à l'
Vector
ouUtilisation
Arrays.asList(...)
retour d'unList
ce qui n'est pas exactement unVector
mais vous devriez être codage de laList
interface de toute façon.Une assez concis façon de le faire est quelque chose comme:
Mais y'all le savais déjà, je suppose.