-2

我的课看起来像这样:

public class Site
{
    String site_name;
        int site_number;
}

我有一个网站数组列表

ArrayList<Site> SitesArr = new ArrayList<Site>();

如何按 site_number 对 SitesArr 进行排序?

4

2 回答 2

1

使用 Collection api,例如 Collection.sort(list);

于 2013-06-18T07:37:52.710 回答
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);

我认为第一种方法适合这种情况

于 2013-06-18T07:39:56.040 回答