import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Users implements Comparable<Users>{
private String name;
private int amount;
public Users(String name, int amount) {
this.name = name;
this.amount = amount;
}
public int compareTo(Users user) {
return 0;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAmount() {
return amount;
}
//测试方法
public static void main(String [] args) {
List<Users> list = new ArrayList<Users>();
list.add(new Users("巴塞", 2700));
list.add(new Users("皇马", 2100));
list.add(new Users("罗马", 2400));
list.add(new Users("曼联", 2300));
list.add(new Users("米兰", 2600));
for (Users user : list) {
System.out.println(user.getName()+" => "+user.getAmount());
}
System.out.println("===========");
Collections.sort(list, new Comparator<Users>(){
public int compare(Users ua, Users ub) {
System.out.println(ub.getAmount()- ua.getAmount());
return ub.getAmount()- ua.getAmount();
}
});
System.out.println("===========");
for (Users user : list) {
System.out.println(user.getName()+" => "+user.getAmount());
}
}
}
控制台结果 (集合按数排序)
巴塞 => 2700
皇马 => 2100
罗马 => 2400
曼联 => 2300
米兰 => 2600
===========
-600
300
-300
200
-100
500
300
200
-100
===========
巴塞 => 2700
米兰 => 2600
罗马 => 2400
曼联 => 2300
皇马 => 2100