@@ -27,6 +27,7 @@ public static void order() {
2727 Order order2 =Order .builder ().dateStr ("2021-10-01 00:00:00" ).price (1.3 ).build ();
2828 Order order3 =Order .builder ().dateStr ("2021-10-01 00:00:00" ).price (55.3 ).build ();
2929 Order order4 =Order .builder ().dateStr ("2021-12-01 00:00:00" ).price (55.3 ).build ();
30+ //添加null测试
3031 Order order5 =Order .builder ().dateStr (null ).price (null ).build ();
3132
3233 List <Order > list = new ArrayList <>();
@@ -36,20 +37,32 @@ public static void order() {
3637 list .add (order4 );
3738 list .add (order5 );
3839
40+ // ==========================================================================
41+ //naturalOrder()表示自然排序(一般是升序),没有处理null,排序时可能会空指针
42+ Comparator <Order > comparator1 = Comparator .comparing (Order ::getDateStr , Comparator .naturalOrder ());
43+ // List<Order> orderList1 = list.stream().sorted(comparator1).collect(Collectors.toList());
44+ // System.out.println("orderList1:"+orderList1);
45+
46+
47+ // ==========================================================================
48+ //Comparator.reverseOrder表示 降序,没有处理null,排序时可能会空指针
49+ Comparator <Order > comparator2 = Comparator .comparing (Order ::getDateStr , Comparator .reverseOrder ());
50+ // List<Order> orderList2 = list.stream().sorted(comparator2).collect(Collectors.toList());
51+ // System.out.println("orderList2:"+orderList2);
3952
4053 // ==========================================================================
4154
42- //naturalOrder()表示自然排序(一般是升序), Comparator.nullsLast表示如果属性为null,就放到最后面
43- Comparator <Order > comparator = Comparator .comparing (Order ::getDateStr , Comparator .nullsLast (naturalOrder ()) );
44- List <Order > orderList = list .stream ().sorted (comparator ).collect (Collectors .toList ());
45- // System.out.println("orderList :"+orderList );
55+ //Comparator.nullsLast表示如果属性为null,就放到最后面
56+ Comparator <Order > comparator3 = Comparator .comparing (Order ::getDateStr , Comparator .nullsLast (naturalOrder ()) );
57+ List <Order > orderList3 = list .stream ().sorted (comparator3 ).collect (Collectors .toList ());
58+ // System.out.println("orderList3 :"+orderList3 );
4659
4760 // ==========================================================================
4861
49- //Comparator.reverseOrder表示 降序, nullsFirst表示如果属性为null,就放到最前面。
50- Comparator <Order > comparator2 = Comparator .comparing (Order ::getDateStr , Comparator .nullsFirst (Comparator .reverseOrder ()));
51- List <Order > orderList2 = list .stream ().sorted (comparator2 ).collect (Collectors .toList ());
52- // System.out.println("orderList2 :"+ orderList2 );
62+ //nullsFirst表示如果属性为null,就放到最前面。
63+ Comparator <Order > comparator4 = Comparator .comparing (Order ::getDateStr , Comparator .nullsFirst (Comparator .reverseOrder ()));
64+ List <Order > orderList4 = list .stream ().sorted (comparator4 ).collect (Collectors .toList ());
65+ // System.out.println("orderList4 :"+ orderList4 );
5366
5467 // ==========================================================================
5568
@@ -59,10 +72,10 @@ public static void order() {
5972 //Order(price=33.3, dateStr=2021-10-01 00:00:00),
6073 //Order(price=1.3, dateStr=2021-10-01 00:00:00)]
6174
62- Comparator <Order > comparator3 = Comparator .comparing (Order ::getDateStr , Comparator .nullsLast (Comparator .reverseOrder ()))
75+ Comparator <Order > comparator5 = Comparator .comparing (Order ::getDateStr , Comparator .nullsLast (Comparator .reverseOrder ()))
6376 .thenComparing (Order ::getPrice , Comparator .nullsLast (Comparator .reverseOrder ()));
64- List <Order > orderList3 = list .parallelStream ().sorted (comparator3 ).collect (Collectors .toList ());
65- System .out .println ("orderList3 :" + orderList3 );
77+ List <Order > orderList5 = list .parallelStream ().sorted (comparator5 ).collect (Collectors .toList ());
78+ System .out .println ("orderList5 :" + orderList5 );
6679
6780
6881 }
0 commit comments