java8-排序

  • list

    • 升序
      //第一種
      list.sort((a,b)->a.getSeqNo().compareTo(b.getSeqNo()));
      //第二種
      list.sort(Comparator.comparing(TransportationPriceAdvance::getFristWeight));
      //第三種 ==》排序後返回一個新的list
      List<Object> specialProducts =list.stream().sorted((u1,u2)->u1.getSpecialProduct().compareTo(u2.getSpecialProduct())).collect(Collectors.toList());
      
    • 降序
      //第一種
      entry.getValue().sort((a,b)->b.getSeqNo().compareTo(a.getSeqNo()));
      //第二種
      list.sort(Comparator.comparing(TransportationPriceAdvance::getFristWeight).reversed());
      //第三種 ==》排序後返回一個新的list
      List<Object> specialProducts =list.stream().sorted((u1,u2)->u2.getSpecialProduct().compareTo(u1.getSpecialProduct())).collect(Collectors.toList());
      
  • map

    comparingByValue().reversed倒序,不指定類型,會默認爲<java.util.Map.Entry<java.lang.Object,V>>

    • 升序
      map.entrySet().stream()
       .sorted(Map.Entry.<String, Integer>comparingByValue())  
      	.forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
      
    • 降序
      map.entrySet().stream()
       .sorted(Map.Entry.<String, Integer>comparingByValue().reversed())  
      	.forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章