假设我有一个Employee类
Employee {
int id;
String name;
Date DOB;
}
我创建了100个对象并将它们放在Set中,但是希望它们今天在DOB上排序,有些日期在名称上排序,其他一天在id上排序。
我可以创建三个比较器,但不知道我应该在哪里传递这些比较器,因为Collections.sort将List作为第一个参数。
TreeSet(接受Comparator作为构造函数)是唯一的解决方案吗?
答案 0 :(得分:0)
TreeSet
是一个总是根据某个比较器排序的集合。所以你可以有三个不同的集合,每个集合都有自己的比较器。
答案 1 :(得分:0)
Set
没有订单。他们就像数学集。
如果您需要订单,则需要List
。然后你可以对它们进行排序,或者给它们任何你想要的订单。
您应该从List
创建一个Set
,然后应用您想要的Comparator
。如果您想对其进行重新排序,只需再次应用sort()
,使用其他Comparator
。