私が達成したいのは、オブジェクトのcolletionを文字列値でソートすることです。しかし、ロケール依存の方法では、照合を使用します。パフォーマンスの理由から、CollationKeyクラスではなく、Collator compare()メソッド(以下のコードのように)を使用することは望ましくありません。Java:CollatorKeyを使ってコレクションをソート
しかし、CollationKeyを使用してcompareTo()メソッドを実装するにはどうすればよいですか?私が理解している限り、CollationKeyを使用する場合は、すべての比較メソッドを自分で作成する必要があります。だから私はもはやCollections.sort()メソッドを使うことができなくなるでしょう...わかりやすい例と、CollationKeyを使ってPersonオブジェクトのコレクションをソートする最も効率的な実装について、非常に感謝しています。
ありがとうございました!
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);
...
こんにちはエリクソン、スマートなソリューションをありがとう、私はこのような、感謝を実装する! – jan