Trier un vecteur d'objets personnalisés
Comment puis-je trier un vecteur de mon objet personnalisé et choisissez la propriété de trier par?
Je l'ai fait voir à cette question, & reponse mais je ne suis pas trop sûr de ce que son centre de tri sur la base. Exemple de Code serait préférée à la "méthodologie".
Trier un Vecteur d'objets personnalisés
public class ItemLocation {
String icon;
String title;
String message;
String subtext;
String deviceId;
double latCoords;
double lngCoords;
int expiary;
int id;
double proximity;
String locSeen;
}
BTW, vous ne devriez pas utiliser
Je ne savais pas ça... Merci!
à l'aide d'un if imbriquées comme cela n'est pas un très bon OO solution. Aussi, vous ne pouvez pas invoquer "compareTo" sur les types de données primitifs de sorte que le code devient de plus en plus complexe.
Vector est synchronisé et les méthodes de l'accès à son contenu sont thread-safe. Liste de tableaux n'est pas. Vecteur d'une double rangée lorsque plus d'espace est nécessaire, ArrayList augmente la taille de 50%. Il y a d'autres différences dont il convient de prendre en compte au moment de choisir entre le Vecteur et l'ArrayList. Voir cet article.
java.util.Vector
sauf si vous avez une très bonne raison. Que les dates des cours Java1.1 et est quasiment remplacé par java.util.Arraylist
Je ne savais pas ça... Merci!
à l'aide d'un if imbriquées comme cela n'est pas un très bon OO solution. Aussi, vous ne pouvez pas invoquer "compareTo" sur les types de données primitifs de sorte que le code devient de plus en plus complexe.
Vector est synchronisé et les méthodes de l'accès à son contenu sont thread-safe. Liste de tableaux n'est pas. Vecteur d'une double rangée lorsque plus d'espace est nécessaire, ArrayList augmente la taille de 50%. Il y a d'autres différences dont il convient de prendre en compte au moment de choisir entre le Vecteur et l'ArrayList. Voir cet article.
OriginalL'auteur Kevin Parker | 2011-02-25
Vous devez vous connecter pour publier un commentaire.
Ci-dessous est un exemple qui vous permettra de trier par un domaine particulier de la ItemLocation:
Fantastique Kurt! J'ai eu ce pour travailler dans une affaire de minutes après un léger ajustement à l'appui de la primitive de type double. retour (o1.proximité < o2.de proximité)?-1:(o1.proximité > o2.de proximité)?1:0;
OriginalL'auteur Kurt Kaylor
Voir la Javadoc
java.util.Comparable
etjava.util.Comparator
.Une classe qui implémente
Comparable
peut être comparé à d'autres instances de cette classe. Ceci est utile pour mettre en œuvre une recherche naturelle de l'ordre. Pour permettre à la commande autres que la classe de l'ordre naturel, vous devrez mettre en œuvre unComparator
. UnComparator
est un objet distinct qui est capable de comparer deux autres objets à l'aide des critères qui il veut.Dans votre cas, vous voudrez probablement mettre en œuvre un
Comparator
pour chacune des différentes propriétés que vous souhaitez commander par, ou qui peuvent être configurés.Comparable
etComparator
utilisent tous les deux la même idée pour déterminer la commande: Une méthode retourne à moins de 0, 0 ou supérieur à 0 pour indiquer à l'appelant lequel de ces 2 objets est commandé en premier. Dans le cas deComparable
le premier objet estthis
.Juste pour dire c'est un nouveau concept et plusieurs concepts n'aide pas. Béton de code à l'étude est beaucoup plus efficace d'apprentissage de l'outil.
OriginalL'auteur Bryan Kyle
Celui-ci fonctionne:
Voici le résultat:
OriginalL'auteur duffymo
Disons que nous avons une classe avec un entier et une chaîne de caractères. Je peux définir la façon dont un objet de cette classe peuvent être comparés à d'autres.
Je pouvais choisir n'importe quel critère. Par exemple, j'ai peut décider de tri basé sur le type int. Si j'arrive à avoir deux int avec la même valeur, j'ai peut décider de la chaîne comme un des critères supplémentaires, quelque chose comme ceci:
Voici une course complète de la démo ...
Voici le résultat:
J'espère que c'est assez clair
Vous pouvez également passer une coutume comparateur. Laissez-moi savoir si vous avez besoin d'un échantillon de.
OriginalL'auteur OscarRyz