通过内部ArrayList中的索引对ArrayLists的ArrayList进行排序

时间:2012-12-09 21:22:46

标签: java class sorting arraylist

我有firstName,lastName,address,email和phoneNumber的arrayList以及多个"条目"的arrayList。每个都包含所有5个索引。获取和设置所有这5个值的方法都在Entry类中,而添加,修改,删除和排序条目则在类联系人列表中完成。

我尝试按姓氏对条目进行排序,并在ContactList类中打印出来。我有:

public void listEntries()
    {
        Collections.sort(entries);

        for (int i = 0; i < entries.size(); i++)
        {

            entries.get(i).print();
        }
    }

我知道我错过了定义要排序的内容,但我甚至不确定是否应该使用Collections.sort。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您的具有给定条目的类(我认为,该条目是该类)必须实现Comparable接口。然后,您可以对集合使用排序。订单由自然排序给出(由您自己在Comparable接口的实现方法中自行订购)。

答案 1 :(得分:1)

你错过了一个比较器作为sort的额外参数 - 例如

Collections.sort(entries, new Comparator<List<String>>() {
    @Override
    public int compare(List<String> o1, List<String> o2) {
        return o1.get(1).compareTo(o1.get(1));
    }
});