如何根据其他属性订购属性?

时间:2014-09-01 13:03:00

标签: java

我需要知道如何根据其他属性订购属性。例如。如果我有一个名为fruit的类,它具有名称,价格,颜色,库存数等属性,并且已经将它存储在一系列对象中。我怀疑它是如何能够安排水果价格的关于该水果的名称和颜色的订单(升序或降序)

2 个答案:

答案 0 :(得分:1)

您可以在班级Comparable中实施Laptop,并在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 :(得分:1)

在Java 8中,您可以编写

List<Laptop> sorted = laptops.stream()
       .sort(comparing(Laptop::getCapacity).reversed()
            .thenComparing(Laptop::getSpeed))
       .collect(toList()):