Java8 Stream Sort
版权归原作者所有。 本文最后更新于:2023年9月27日 晚上
按照姓名首字母排序
public class SortDemo{
public void test(List<TableBodyRow> sourceList) {
Collator collator = Collator.getInstance(Locale.CHINA);
List<TableBodyRow> targetList = sourceList.parallelStream()
.sorted(Comparator.comparing((o1, o2) -> collator.compare(o1.getName() == null ? "" : o1.getName(), o2.getName() == null ? "" : o2.getName())))
.collect(Collectors.toList());
}
}
多条件排序
public class SortDemo{
public void test(List<TableBodyRow> sourceList) {
Collator collator = Collator.getInstance(Locale.CHINA);
List<TableBodyRow> targetList = sourceList.parallelStream()
.sorted(Comparator.comparing(TableBodyRow::getSex)
.thenComparing(TableBodyRow::getAge)
.thenComparing((o1, o2) -> collator.compare(o1.getName() == null ? "" : o1.getName(), o2.getName() == null ? "" : o2.getName())))
.collect(Collectors.toList());
}
}
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明蚁点博客出处!