可能重复:
两个字段的 Java 排序问题
我有像这样的用户对象
class user
{
String firstName;
String lastName;
}
我有一个List
包含这些对象的对象,我必须按名字对其进行排序,如果名字与按姓氏排序的名字匹配。
可能重复:
两个字段的 Java 排序问题
我有像这样的用户对象
class user
{
String firstName;
String lastName;
}
我有一个List
包含这些对象的对象,我必须按名字对其进行排序,如果名字与按姓氏排序的名字匹配。
这里有几种方法。
您可以实现一个Comparator,然后在标准 Java Collection 库中使用它来对您的集合进行排序,例如Collections.sort()
Comparator<MyObject> comparator = ....
Collections.sort(listOfObjects, comparator); // note- will sort in place
另一种方法是让您的对象实现Comparable。然后,这将为您的对象引入本机排序顺序。
请注意,您可以同时实现这两种方法。当您想要实现不同的排序策略(例如,按名称、按日期、按大小等)时,前者很有用。如果您想利用 Java 库中的本机排序概念和标准排序函数,则后者很有用。
查看有关对象排序的 Java 教程