【发布时间】:2012-01-02 23:35:37
【问题描述】:
我有一个对象数组列表,我想在这个列表上运行一系列排序操作。例如,我想按名称对它们进行排序,如果两个名称相同,则按 id 对它们进行排序。
我该如何实现它?
这是我的代码
Comparator<Ticket> mc;
mc = new TicketIdComparator();
Collections.sort(tickets, mc);
final class TicketIdComparator implements Comparator<Ticket>
{
@Override
public int compare(Ticket ticket1, Ticket ticket2) {
String TicketId1 = ((Ticket) ticket1).getNumber();
String TickedId2 = ((Ticket) ticket2).getNumber();
int num1=Integer.parseInt(TicketId1);
int num2 =Integer.parseInt(TickedId2);
if (num1<num2)
return 1;
if (num1>num2)
return -1;
return 0;
}
}
此代码按id 排序,但我想再次按name 排序
【问题讨论】:
标签: java sorting collections arraylist comparator