首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java Comparator 接口排序實戰範例

     編輯:Java 相關知識

代碼範例

public class CompareToImplementsComparator implements Comparator {
  public int compare(Object o1, Object o2) {
    int i = (Integer) o1;
    int j = (Integer) o2;
    if (i > j) return 1;
    return 0;
  }
  @SuppressWarnings("unchecked")
  public static void main(String[] args) {
    List list = new ArrayList();
    for (int i = 10; i > 0; i--) list.add(i);
    Collections.sort(list, new CompareToImplementsComparator());
    for (int j = 0; j < list.size(); j++) System.out.println(list.get(j));
  }
}

關鍵點

  • 實現 Comparator 介面,重寫 compare(Object, Object)
  • 返回正數/負數/零決定排序順序
  • Collections.sort(List, Comparator) 使用自定義比較器
  • 範例實現降序排列(10 到 1)

注意

範例中 compare 邏輯不完整(缺少 i < j 返回 -1),實際應用需完整實現三種情況。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved