如何使用 Comparable ,Comparator 接口 (二)

2014-11-24 11:17:40 · 作者: · 浏览: 1
Employee e1 = (Employee)o1;
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