按其属性对ArrayList进行排序

时间:2013-06-18 07:34:06

标签: java arraylist

我的课程看起来像这样:

public class Site
{
    String site_name;
        int site_number;
}

我有一个网站的arraylist

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

如何按site_number对此SitesArr进行排序?

2 个答案:

答案 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);

我认为第一种方法对于这种情况是正确的