我的课程看起来像这样:
public class Site
{
String site_name;
int site_number;
}
我有一个网站的arraylist
ArrayList<Site> SitesArr = new ArrayList<Site>();
如何按site_number对此SitesArr进行排序?
答案 0 :(得分:1)
使用Collection.sort(list)等集合api;
答案 1 :(得分:1)
您有两个选项,首先是让您的Site
班级实施Comparable
界面,而不是在您的班级中实施compareTo
:
@Override
public int compareTo(Site o) {
Site s = (Site) o;
return this.site_number - s.site_number;
}
第二个选项是为您要对数组进行排序的时间创建一个新的Comparator
:
new Comparator() {
@Override
public int compare(Site s1, Site s2) {
return (s1.getSiteNumber() - s2.getSiteNumber());
}
}
然后在调用时使用它:
Collections.sort(SitesArr, comp);
我认为第一种方法对于这种情况是正确的