Employee e2 = (Employee)o2;
return e1.eName.compareTo(e2.eName);
}
}
public class NameComparator implements Comparator {
@Override
public int compare(Object o1, Object o2) {
Employee e1 = (Employee)o1;
Employee e2 = (Employee)o2;
return e1.eName.compareTo(e2.eName);
}
}
我们修改 ComparableDemo 类的代码如下:
[java]
public class ComparableDemo {
public static void main(String[] args) {
List list = new ArrayList();
list.add(new Employee("Tom", 40000.00));
list.add(new Employee("Harry", 20000.00));
list.add(new Employee("Maggle", 50000.00));
list.add(new Employee("Chris", 70000.00));
//Collections.sort(list);
Collections.sort(list, new NameComparator());
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object element = iterator.next();
System.out.println(element.toString() + "\n");
}
}
}
public class ComparableDemo {
public static void main(String[] args) {
List list = new ArrayList();
list.add(new Employee("Tom", 40000.00));
list.add(new Employee("Harry", 20000.00));
list.add(new Employee("Maggle", 50000.00));
list.add(new Employee("Chris", 70000.00));
//Collections.sort(list);
Collections.sort(list, new NameComparator());
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object element = iterator.next();
System.out.println(element.toString() + "\n");
}
}
}运行 ComparableDemo ,结果如下:
empId 3
eName Chris
sal 70000.0
empId 1
eName Harry
sal 20000.0
empId 2
eName Maggle
sal 50000.0
empId 0
eName Tom
sal 40000.0