java8 使用stream排序空字段排在前面或後面
java8 stream排序空字段排在前面或後面
直接粗暴sorted會NPE,這種寫法可以避免
list.stream().sorted(Comparator.comparing(l -> l.getCreateTime(), Comparator.nullsFirst(Date::compareTo))).collect(toList()); toOrderList.stream().sorted(Comparator.comparing(l -> l.getContractCode(), Comparator.nullsFirst(String::compareTo))).collect(toList());
java8根據某字段順序和倒序排列
順序
resultList.stream().sorted(Comparator.comparing(Role::getCreateTime)).collect(Collectors.toList());
倒序
resultList.stream().sorted(Comparator.comparing(Role::getCreateTime).reversed()).collect(Collectors.toList());
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Java stream sorted使用 Comparator 進行多字段排序的方法
- java8 stream多字段排序的實現
- java8 stream的多字段排序實現(踩坑)
- Java Comparator.comparing比較導致空指針異常的解決
- java8實現List中對象屬性的去重方法