我想做嵌套排序。我有一个课程对象,其中有一组应用程序。应用程序具有时间和优先级等属性。现在我想首先根据优先级对它们进行排序,在优先级内我想按时间对它们进行排序。
例如,给定此类(公共字段仅为了简洁起见):
public class Job {
public int prio;
public int timeElapsed;
}
您可以使用 java.util.Collections 类中的静态 sort(List, Comparator) 方法实现按时间排序。这里,创建了一个匿名内部类来实现“Job”的比较器。这有时被称为函数指针的替代方案(因为 Java 没有函数指针)。
public void sortByTime() {
AbstractList<Job> list = new ArrayList<Job>();
//add some items
Collections.sort(list, new Comparator<Job>() {
public int compare(Job j1, Job j2) {
return j1.timeElapsed - j2.timeElapsed;
}
});
}
注意compare()方法的契约模型:http://java.sun.com/javase/6/docs/api/java/util/Comparator.html#compare(T,%20T)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)