你的位置:首页 > 操作系统

[操作系统]list集合的排序Comparator和Collections.sort


一个例子

package sortt;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class HomeWork {  public static void main(String[] args) {    List<Emp> ems =new ArrayList<Emp>();    ems.add(new Emp("Terry", 25, 'm', 6000));    ems.add(new Emp("Allen", 21, 'f', 4000));    ems.add(new Emp("Smith", 23, 'm', 3000));    System.out.println(ems);     //[(Terry,25,m,6000.0), (Allen,21,f,4000.0), (Smith,23,m,3000.0)]    Comparator<Emp> com=new Comparator<Emp>(){ //匿名内部类        public int compare(Emp o1, Emp o2) {        // TODO Auto-generated method stub        return (int) (o1.getSalary()-o2.getSalary());      }          };    Collections.sort(ems,com);    System.out.println(ems);      //[(Smith,23,m,3000.0), (Allen,21,f,4000.0), (Terry,25,m,6000.0)]  }}

 

 

Emp.java
class Emp{  private String name;  private int age;  private char gender;  private double salary;  public Emp(String name, int age, char gender, double salary) {    super();    this.name = name;    this.age = age;    this.gender = gender;    this.salary = salary;  }  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }  public int getAge() {    return age;  }  public void setAge(int age) {    this.age = age;  }  public char getGender() {    return gender;  }  public void setGender(char gender) {    this.gender = gender;  }  public double getSalary() {    return salary;  }  public void setSalary(double salary) {    this.salary = salary;  }  public String toString(){    return "("+name+","+ age+"," +gender+"," + salary+")";      }    }