W3School TIY Editor

  • W3School 在线教程
  • 改变方向
  • 暗黑模式
​x
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
​
public class Main { 
  public static void main(String[] args) { 
    // 创建汽车列表
    ArrayList<Car> myCars = new ArrayList<Car>();    
    myCars.add(new Car("BMW", "X5", 1999));
    myCars.add(new Car("Honda", "Accord", 2006));
    myCars.add(new Car("Ford", "Mustang", 1970));
​
    // 使用比较器对汽车排序
    Comparator myComparator = new SortByYear();
    Collections.sort(myCars, myComparator);
​
    // 显示汽车信息
    for (Car c : myCars) {
      System.out.println(c.brand + " " + c.model + " " + c.year);
    }
  } 
}
​
// 定义汽车类
class Car {
  public String brand;
  public String model;
  public int year;
  
  public Car(String b, String m, int y) {
    brand = b;
    model = m;
    year = y;
  }
}
​
// 创建比较器
class SortByYear implements Comparator {
  public int compare(Object obj1, Object obj2) {
    // 确保对象是 Car 类型
    Car a = (Car) obj1;
    Car b = (Car) obj2;
    
    // 比较两辆车的年份
    if (a.year < b.year) return -1; // 第一辆车的年份较小
    if (a.year > b.year) return 1;  // 第一辆车的年份较大
    return 0; // 两辆车的年份相同
  }
}
​