-1

可能重复:
两个字段的 Java 排序问题

我有像这样的用户对象

class user
{
    String firstName;
    String lastName;
}

我有一个List包含这些对象的对象,我必须按名字对其进行排序,如果名字与按姓氏排序的名字匹配。

4

2 回答 2

2

这里有几种方法。

您可以实现一个Comparator,然后在标准 Java Collection 库中使用它来对您的集合进行排序,例如Collections.sort()

Comparator<MyObject> comparator = ....
Collections.sort(listOfObjects, comparator); // note-  will sort in place

另一种方法是让您的对象实现Comparable。然后,这将为您的对象引入本机排序顺序。

请注意,您可以同时实现这两种方法。当您想要实现不同的排序策略(例如,按名称、按日期、按大小等)时,前者很有用。如果您想利用 Java 库中的本机排序概念和标准排序函数,则后者很有用。

查看有关对象排序的 Java 教程

于 2013-01-10T09:45:02.843 回答
0

如果您实现 Comparable 并使用您自己的compareTo方法来满足您的需求。

另一种选择是使用Comparator许多其他答案中指示的自定义。

可以在这里找到一篇展示这两种方法的好文章。

于 2013-01-10T09:45:40.597 回答