最近需要用到对一个list(list存放的一个javabean,需要根据javabean中的某个字段进行对list排序)进行排序,开始想的方法是将list里面中的javabean的那个需要排序的字段的值存储到一个集合中,然后将集合转换成数组,然后对这个数组进行排序,最后按照顺序返回原来那个集合的一组下标,将这些下标存到一个集合中,然后根据
class Dis implements Comparable<Dis>{
private String name;
private Double dis;
public Dis(String name,Double dis) {
this.name = name;
this.dis = dis;
}
@Override
public int compareTo(Dis d) {
// TODO Auto-generated method stub
Double a = d.getDis();
Double b = this.getDis();
return b.compareTo(a);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getDis() {
return dis;
}
public void setDis(Double dis) {
this.dis = dis;
}
}
public class TestMsg
{
public void sortList() {
List<Dis> list_init = new ArrayList();
list_init.add(new Dis("a",5.7));
list_init.add(new Dis("b",8.0));
list_init.add(new Dis("c",1.6));
list_init.add(new Dis("d",6.9));
Collections.sort(list_init);
for(Dis d:list_init) {
System.out.println(d.getName()+":"+d.getDis());
}
}
public static void main(String[] args)
{
TestMsg t = new TestMsg();
t.sortList();
}
}