我有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。有什么建议吗?
答案 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));
}
});