跳至主要內容

排序

Zhao Bin笔记backendcode-snippetsjava

排序

多个字段的排序

Comparator<ADto> comparator = Comparator
  .comparing(ADto::getClass, Comparator.nullsLast(Comparator.naturalOrder()))
  .thenComparing(ADto::getScore, Comparator.nullsLast(Comparator.reverseOrder()))
  .thenComparing(ADto::getName, Comparator.nullsLast(String::compareTo));

list.sort(comparator);

按语言排序

Comparator<ADto> comparator = Comparator
  .comparing(ADto::getClass, Comparator.nullsLast(Comparator.naturalOrder()))
  .thenComparing(ADto::getScore, Comparator.nullsLast(Comparator.reverseOrder()))
  .thenComparing(ADto::getName, Comparator.nullsLast(Collator.getInstance(Locale.SIMPLIFIED_CHINESE)));

list.sort(comparator);