您应该以某种方式将名称和num字段关联到一个类中,然后具有该特定类的实例列表.在此类中,提供compareTo()方法,该方法检查数值.如果对实例进行排序,那么名称字段也将按您所希望的顺序排列.
class Entity implements Comparable {
String name;
int num;
Entity(String name, int num) {
this.name = name;
this.num = num;
}
@Override
public int compareTo(Entity o) {
if (this.num > o.num)
return 1;
else if (this.num < o.num)
return -1;
return 0;
}
}
测试代码可能是这样的:
public static void main(String[] args) {
List entities = new ArrayList();
entities.add(new Entity("One", 1));
entities.add(new Entity("Two", 2));
entities.add(new Entity("Three", 3));
entities.add(new Entity("Four", 4));
Collections.sort(entities);
for (Entity entity : entities)
System.out.print(entity.num + " => " + entity.name + " ");
}
输出:
1 => One 2 => Two 3 => Three 4 => Four