diff --git a/src/main/java/com/github/hcsp/functional/Order.java b/src/main/java/com/github/hcsp/functional/Order.java index 6df18c4..657d241 100644 --- a/src/main/java/com/github/hcsp/functional/Order.java +++ b/src/main/java/com/github/hcsp/functional/Order.java @@ -3,6 +3,7 @@ import java.math.BigDecimal; import java.time.Instant; import java.util.Arrays; +import java.util.Comparator; import java.util.List; import java.util.TreeSet; @@ -58,7 +59,13 @@ public String toString() { // 2.然后按照订单金额排序,订单金额大的靠前; // 3.然后按照下单时间排序,下单时间早的靠前 public static TreeSet toTreeSet(List orders) { - return null; + Comparator compareOrders = Comparator.comparing(Order::isOpen,Boolean::compareTo).reversed(). + thenComparing(Order::getOrderTime,Instant::compareTo). + thenComparing(Order::getId,Integer::compareTo); + TreeSet result = new TreeSet<>(compareOrders); + result.addAll(orders); + return result; + } public static void main(String[] args) {