java8 рода OrderBy

Подробнее можно найти на сайте: HTTP: //www.importnew.com/15259.html

Тестовое задание :

com.icil.report.jdbc пакет; 

Импорт java.util.ArrayList; 
Импорт java.util.Comparator; 
Импорт java.util.List; 
Импорт java.util.stream.Collectors; 

Импорт org.junit.Test; 

Импорт com.icil .report.pojo.GroupByCourier; 

общественный  класс OrderByTest { 
  
  / * * 
   * Java7 обычная сортировка 
   * комбинация нескольких состояние Сортировать: // NumberOfShipments сортируется в соответствии с первым, а затем более Courier сортировки 
   * из JDK 8, теперь мы можем положить больше Компаратор цепь вместе (цепь вместе) , чтобы построить более сложную логику сравнения : 
   * @throws Exception 
   * / 
  @test 
  общественные  недействительные orderBYtest1 () бросает исключение { 
      в ArrayList <GroupByCourier> = в ArrayList новый новыйArrayList <GroupByCourier> ();
//        GroupByCourier (String курьером, Целочисленные numberOfShipments, Целый numberOfSubscriptions) 
      arrayList.add ( новый GroupByCourier ( " F " , 2 , 3 )); 
      arrayList.add ( новый GroupByCourier ( " б " , 10 , 6 )); 
      arrayList.add ( новый GroupByCourier ( " " , 4 , 1 )); 
      arrayList.add ( новый GroupByCourier ( "с " 15 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " 1 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 19 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8)); 
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8 )); 
      
   arrayList.sort ( Comparator.comparing ( . GroupByCourier :: getNumberOfShipments) thenComparing (GroupByCourier :: getCourier));
   // 先根据NumberOfShipments排序,然后在更具Courier排序
   Comparator.comparing (GroupByCourier :: getNumberOfShipments) .thenComparing (GroupByCourier :: getCourier); 
   arrayList.forEach (г -> {System. из .println (r.getCourier () + " - " + r.getNumberOfShipments () + " - " +r.getNumberOfSubscriptions ());}); 
      
  } 
  
  
  / * * 
   * в качестве Java7 параллельных потоков упорядочения 
   * Сортировка множества условие комбинации: // Первые NumberOfShipments сортировки и сортировки более Courier, а затем сортируются в соответствии NumberOfSubscriptions 
   * начиная с JDK 8 Теперь мы можем компаратор цепь вместе множество (цепь вместе) , чтобы построить более сложную логику сравнения: 
   * @throws Exception 
   * / 
  @test 
  общественных  недействительные orderBYtest02 () бросает исключение { 
      ArrayList <GroupByCourier> = Список_массивы новых новый ArrayList <GroupByCourier> ();
 //        GroupByCourier (String Courier, numberOfShipments Integer, Integer numberOfSubscriptions) 
      arrayList.add ( новый новый GroupByCourier ( " е ", 2 , 3 )); 
      arrayList.add ( новый GroupByCourier ( " б " , 10 , 6 )); 
      arrayList.add ( новый GroupByCourier ( " " , 4 , 1 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 15 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8 ));
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 19 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8 )); 
      
      //先根据NumberOfShipments排序,然后在更具Courier排序,然后在根据NumberOfSubscriptions排序
     // List <GroupByCourier> собирать = arrayList.parallelStream (). Отсортирован (Comparator.comparing (GroupByCourier :: getNumberOfShipments) .thenComparing (GroupByCourier :: getCourier) ) .collect (Collectors.toList ()); 
    Список <GroupByCourier> = собирать . ArrayList.parallelStream () сортируется (Comparator.comparing (GroupByCourier :: getNumberOfShipments) .thenComparing (GroupByCourier :: getCourier) .thenComparing (GroupByCourier :: getNumberOfSubscriptions)) собирают (Collectors.toList ()). 
      
      System.err.println (сбор); 
      collect.forEach (г -> {System. из .println (r.getCourier () + " - " + r.getNumberOfShipments () + "- " + r.getNumberOfSubscriptions ());}); 
      
  } 
  / * * 
   * java8 параллельных потоков упорядочения порядка разворота 
   * . JDK 8 также обеспечивает полезный способ реверсирования Компаратор (обратный компаратор) - мы можем использовать его , чтобы быстро реверс нашей сортировки 
   * мульти-условия комбинации Сортировка: // NumberOfShipments сортируются в соответствии с первым, потом еще Courier сортировки , а затем сортируются в соответствии с NumberOfSubscriptions 
   * JDK 8 с самого начала, мы можем теперь положить больше Компаратор цепи с (цепью вместе) , чтобы построить более сложную логику сравнения: 
   * @throws Exception 
   * / 
  @test 
  общественных  недействительных orderBYtest04 () бросает исключение { 
      ArrayList <GroupByCourier> = Список_массивы нового новый ArrayList <GroupByCourier> ();
 , //       GroupByCourier (String курьером, Целочисленные numberOfShipments, Целочисленные numberOfSubscriptions) 
      arrayList.add ( новый GroupByCourier ( " F " , 2 , 3 )); 
      arrayList.add ( новый GroupByCourier ( " б " , 10 , 6 )); 
      arrayList.add ( новый GroupByCourier ( " " , 4 , 1 )); 
      arrayList.add ( новый GroupByCourier ( " с " , 15 ,8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 19 , 8 )); 
      arrayList.add ( новый GroupByCourier ( " C " , 1 , 8 )); 
      arrayList.add ( новыйGroupByCourier ( " C " , 1. , 8. )); 
      
      // первый отсортированные по NumberOfShipments, а затем отсортировать более Courier, то упорядоченные по NumberOfSubscriptions (теперь очередь) 
      Компаратор <GroupByCourier> = compars . Компаратор Сравнение (GroupByCourier :: . getNumberOfShipments) thenComparing (:: GroupByCourier getCourier). thenComparing (GroupByCourier :: getNumberOfSubscriptions); 
      Список <GroupByCourier> = сборным arrayList.parallelStream () отсортированный (. compars.reversed () ) .collect (Collectors.toList ()); 
      
      система .err.println (сборный); 
      collect.forEach (R & л -> {система.из .println (r.getCourier () + " - " + r.getNumberOfShipments () + " - " + r.getNumberOfSubscriptions ());}); 
  } 
  
    
}

 

рекомендация

отwww.cnblogs.com/lshan/p/10956495.html