我想按向量的长度对ArrayList
个对象进行排序
对象。
double[] s ={1,2,3,4};
double[] s2 ={1,2};
double[] s3 ={1,2,3};
Student[] Facultate ={new Student(s),new Student(s2)};
ArrayList<Student> FacultateList = new ArrayList<Student>(Arrays.asList(Facultate));
我想要FacultateList
订购s2,s3,s
。
答案 0 :(得分:5)
将Collections.sort
与自定义比较器一起使用:
Collections.sort(facultateList, new Comparator<Student>() {
public int compare(Student a, Student b) {
return a.getLength().compareTo(b.getLength());
}
});
或者,如果这是对学生进行排序的默认方式,请Student
实施Comparable<Student>
,在类本身中实施相应的compareTo
方法,并使用Collections.sort
自定义比较器。
(稍等一下,以后会让你感到困惑,Java中的约定是变量以小写字母开头,所以facultateList
,而不是FacultateList
。)