【发布时间】:2016-06-02 09:34:24
【问题描述】:
我有一个 States 类,它是一个包含名称的对象,以及我们认为是边的状态列表。我想按名称对这个边列表进行升序和降序排序。我有一个重写 compareTo 函数并利用 Collections.sort() 的想法。
public class State {
private String name;
private ArrayList<States> edges;
...
public ArrayList<States> getEdges(){
return edges;
}
public int compareTo(State s, int type){
switch(type){
case 0:
// we want ascending order, return as normal
return this.name.compareTo(s.getName());
case 1:
// we want descending order, negate our answer
return -this.name.compareTo(s.getName());
}
return -1;
}
是否可以使用 Collection.sort(),但能够提供 'type' 参数来指定我想要升序还是降序?如果没有,我还有什么其他方法可以做到这一点?
【问题讨论】:
-
“如果没有,我还有什么其他方法可以做到这一点?”reverse 列表。
标签: java