2013-01-10 112 views
-1
的對象

可能重複:
Java sort problem by two fields排序兩個屬性

我有用戶對象像

class user 
{ 
    String firstName; 
    String lastName; 
} 

我有一個List其中包含這些對象,我要按名字排序,如果第一個名字與最後一個名字中的那個名字相匹配, ame。

+3

您可以實現一個Comparable接口。 – Drogba

回答

2

有幾個辦法在這裏。

您可以實施Comparator,然後在標準Java Collection庫中使用它來對您的集合進行排序,例如Collections.sort()

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

另一種方法是爲對象實施Comparable。這就引入了本地排序順序您的對象。

請注意,您可以同時實施這兩種方法。當你想要實現不同的排序策略時(例如按名稱,按日期,按大小等),前者非常有用。如果您想在Java庫中使用本地排序和標準排序函數的概念,後者非常有用。

Object Ordering

0

退房Java教程如果實現可比和使用自己的compareTo方法,做你所需要的。

另一種選擇是使用自定義Comparator,如許多其他答案中所示。

一篇很好的文章展示了兩種方法可以找到here