我需要知道如何按照其他屬性排序屬性。例如。如果我有一個名爲水果的類,它具有名稱,價格,顏色,庫存數量等屬性,並且它已經存儲在一個對象數組中。我懷疑它將如何能夠安排水果價格關於該水果的名稱和顏色的訂單(升序或降序)如何訂購相對於其他屬性的屬性?
0
A
回答
1
您可以在您的類Laptop
中實施Comparable
,並在compareTo方法中定義順序。
public class Laptop implements Comparable<Laptop>{
public int compareTo(Laptop compareLaptop) {
//logic here
}
}
然後只要致電:
List<Laptop> laptops = new ArrayList<Laptop>();
Collections.sort(laptops);
很好的教程:http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/
1
在Java 8,你可以寫
List<Laptop> sorted = laptops.stream()
.sort(comparing(Laptop::getCapacity).reversed()
.thenComparing(Laptop::getSpeed))
.collect(toList()):
這可以,如果你定義自定義比較來完成。 – kai 2014-09-01 13:04:14
@ kai,發表您的評論作爲答案 – AlexR 2014-09-01 13:07:02