2014-09-01 77 views
0

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

+2

这可以,如果你定义自定义比较来完成。 – kai 2014-09-01 13:04:14

+0

@ kai,发表您的评论作为答案 – AlexR 2014-09-01 13:07:02

回答

1

在Java 8,你可以写

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