Ce que je souhaite réaliser consiste à trier une collection d'objets par une valeur de chaîne. Cependant d'une manière dépendante des paramètres régionaux en utilisant un collator. Pour des raisons de performances, je ne souhaite pas utiliser la méthode Collator compare() (comme ci-dessous dans le code) plutôt que la classe CollationKey, car l'API Java indique que l'utilisation d'une clé CollationKey est beaucoup plus rapide. Mais comment implémenter la méthode compareTo() à l'aide de CollationKey? Pour autant que je l'ai compris, je dois écrire complètement toutes les méthodes de comparaison si je vais utiliser une CollationKey. Je ne pourrai même plus utiliser les méthodes Collections.sort() ... Je suis très reconnaissant pour un exemple facile à comprendre et l'implémentation la plus efficace pour trier les objets Collection of Person à l'aide d'une CollationKey.Java: Trier une collection à l'aide d'un CollatorKey
Merci!
public class Person implements Comparable<Person> {
String lastname;
public int compareTo(Person person) {
//This works but it is not the best implementation for a good performance
Collator instance = Collator.getInstance(Locale.ITALY);
return instance.compare(lastname, person.lastname);
}
}
...
ArrayList list = new ArrayList();
Person person1 = new Person("foo");
list.add(person1);
Person person2 = new Person("bar");
list.add(person2);
Collections.sort(list);
...
Bonjour Erickson, merci beaucoup pour la solution intelligente, je vais l'implémenter comme ça, merci! – jan