我的课看起来像这样:
public class Site
{
String site_name;
int site_number;
}
我有一个网站数组列表
ArrayList<Site> SitesArr = new ArrayList<Site>();
如何按 site_number 对 SitesArr 进行排序?
使用 Collection api,例如 Collection.sort(list);
您有两个选择,首先是让您的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);
我认为第一种方法适合这种情况