Comment trier un Vecteur de String en java-moi?
J'ai un Vecteur d'Entiers ( clé primaire d'une table de base de données ) ; et j'ai mis en place une méthode qui renvoie une Chaîne de caractères en fonction sur cette clé primaire de type Entier. Mon problème est que je veux mettre ces de la Chaîne dans un Vecteur et qu'ils sont "triés" dans le Vecteur. Comment parvenir à cette Chaîne de tri ?
- Hé les gars, il a de demander pour java-moi. Java-moi de ne jamais le soutien des Collections.
- 1er de poser la question clairement. Parce que tout le monde considérait vous demandez en java. Essayer de poster correctement.
Vous devez vous connecter pour publier un commentaire.
Utiliser le code suivant pour trier le vecteur en java-moi.
Vous pouvez soit utiliser un
TreeSet
, qui va garder les Chaînes dans l'ordre de tri, ou utiliser quelque chose comme cela avant de vous rendre:Une autre alternative est de demander à la base de données de COMMANDE PAR clé primaire. Laisser la base de données faire le travail.
Votre requête est probablement de retour plus que les clés primaires. Je me demande pourquoi vous avez à traiter avec les choses sur le niveau primitif de l'un
String
et de la clé primaire. Je parie que vous ne pensez pas assez en termes d'objets. Là où il y a une clé primaire, d'autres données doivent être suivi de près derrière. J'avais encapsuler tous ensemble et de se soucier de tri ceux objets.Pourquoi
Vector
? Je préfèreArrayList
, car il n'est pas synchronisé par défaut. De meilleures performances.Vous aurez besoin de mettre en place votre propre comparateur de mise en œuvre de la Comparateur interface.
Quelque chose comme cela devrait faire l'affaire:
Prises de ici.
Passer le vecteur de la méthode statique
Collections.sort(vector)
pas sûr de savoir comment vous voulez un tri mais cette méthode de tri selon l'ordre naturel des objets contenus dans le vecteur donné par lacompareTo
méthode de chaque objet.La Les Collections de l'API peut être en mesure de vous aider plus loin.
Si c'est Java, vous êtes à la recherche pour
?
Vecteur est plus lent que ArrayList comme un "thread-safe" de la collection.
Cependant l'opération de tri n'est pas thread-safe. En tant que tel pour trier un vecteur dans un thread de manière sécuritaire, vous devez le synchroniser.
Si vous n'avez pas besoin de la collection à être thread-safe, pensez à utiliser une ArrayList.
Vous pouvez soit utiliser une des Collections de la classe, qui va garder les Chaînes dans l'ordre de tri, ou utiliser quelque chose comme cela avant de vous rendre:
si vous souhaitez trier par ordre croissant d'utilisation seulement
Collections.de tri(mettre votre....LISTE/LISTE DE TABLEAUX/OBJETS VECTORIELS ICI);
si vous souhaitez trier par ordre décroissant d'utiliser seulement
** Les Collections.de tri(mettre votre....LISTE/LISTE DE TABLEAUX/OBJETS VECTORIELS ICI);**
** Les Collections.inverse(mettre votre....LISTE/LISTE DE TABLEAUX/OBJETS VECTORIELS ICI);**