コンパレータを使用してJavaで配列をソートする例と出力を教えてください。 public static void sort(List list, Comparator c);
を使用する必要があることがわかりますが、コンパレータはソート順をどのように変更しますか?Javaでコレクションを並べ替える
答えて
コンパレータを使ってソートする方法の良い例です。 http://www.javadeveloper.co.in/java-example/java-comparator-example.html
通常、Comparable
を実装して、リストをsort()
メソッドに渡すだけです。
public static void main(String args[]) {
List<ExampleItem> examples = new LinkedList<ExampleItem>();
//Build List
Collections.sort(examples, new ExampleCompartor());//Sort with your comparator
}
//Custom Class to sort
class ExampleItem{
private int data;
}
//Compartor
static class ExampleCompartor implements Comparator<ExampleItem>{
@Override
public int compare(ExampleItem ex1, ExampleItem ex2) {
return ex1.data - ex2.data;
}
}
+1 Comparableを提案しています。 –
私はそれを "オーバーライド"ではなく、 "インプリメント"することを意味すると思います。 –
@Stephen、素敵なキャッチ、私は答えを編集しました。 – jzd
public class CompSample {
public static int countVowels(String s) {
return s.replaceAll("[^aeiouAEIOU]", "").length();
}
public static class NumberOfVowelsComparator implements Comparator<String> {
public int compare(String o1, String o2) {
int o1vowels = countVowels(o1);
int o2vowels = countVowels(o2);
return o2vowels - o1vowels;
}
}
public static void main(String[] args) {
String[] words = {"one", "two", "tree", "four"};
List<String> sortedWords = Collections.sort(Arrays.asList(words),
new NumberOfVowelsComparator());
System.out.println(sortedWords);
}
}
- 1. コレクションのカスタム並べ替え
- 2. Magento:商品コレクションを並べ替える
- 3. 並べ替えで並べ替え
- 4. Javaでマップを並べ替える
- 5. Java - 並べ替えのカテゴリ
- 6. Riakでデータを並べ替え/並べ替える方法は?
- 7. ArrayListを並べ替える - IndexOutOfBoundsException - Java
- 8. ASPxPivotGridカスタム並べ替え/並べ替えを削除する
- 9. コレクションをRESTfulな方法で並べ替えること
- 10. 日付フィールドでコレクションを並べ替える方法は?
- 11. C#で、関連する項目のコレクションを並べ替え
- 12. ダイナミックステートメントの構築中にエンティティフレームワークで子コレクションを並べ替える
- 13. Laravelでマージされたコレクションを並べ替える
- 14. 配列の順番でコレクションを並べ替える
- 15. VBAでオブジェクトのコレクションを並べ替える
- 16. Spark DataFrame group降順で並べ替えて並べ替え
- 17. カスタムオーダーで並べ替える
- 18. AlphaFunで並べ替える
- 19. Laravel 4.2並べ替えの関係による並べ替え
- 20. VBA - ドラッグ&ドロップによる並べ替えの並べ替え
- 21. DataGridviewで並べ替えるリスト/コレクションの要件
- 22. 並べ替えメソッドを持つ人物の並べ替え
- 23. ICriteria&NHibernateを使用してコレクション数で並べ替え
- 24. Laravelコレクションを関係数で並べ替え
- 25. JavaカスタムArrayListオブジェクトの並べ替え
- 26. Javaのアラビア語の並べ替え
- 27. コレクションを永続的に並べ替える
- 28. 一般的なペアのコレクションを並べ替える方法
- 29. DataGridからItemsSourceコレクションへの並べ替えを維持する
- 30. プロジェクトを並べ替える
スタートこれを読んで::あなたの代わりに、ここで
Comparator
を使用する必要がある場合でも、完全な例であるhttp://download.oracle.com/javase/1.4.2/docs/api/java /util/Comparator.html –現在のAPIのバージョンへのリンクは次のとおりです。http://download.oracle.com/javase/6/docs/api/java/util/Comparator.html – jzd