Сортировка с последними null
значениями :
Обратите внимание, что значения 0
будут первыми. Это null
дружественный.
personLists.sort(
Comparator.comparing(
PersonItem::getCelebrityWeighting, // key extractor, comparing by...
Comparator.nullsLast(Comparator.naturalOrder()))); // natural order, nulls last
0, 0, 1, 2, 4, 7, ноль, ноль
Сортировка со значениями 0
в прошлом :
Обратите внимание, что это решение не null
, getCelebrityWeighting()
не должно быть null
и работает, если все значения null
заменены на 0
, Запомните порядок в компараторе при возврате 1 or
-1`.
personLists.sort((first, second) -> {
if (first.getCelebrityWeighting() == 0) return 1; // 0 last
if (second.getCelebrityWeighting() == 0) return -1; // 0 last
return first.getCelebrityWeighting() - second.getCelebrityWeighting(); // standard
});
1, 2, 4, 7, 0, 0, 0, 0
Сортировка с последними значениями 0
и null
:
Комбинация приведенных выше примеров null
дружественная:
personLists.sort(
Comparator.comparing(
PersonItem::getCelebrityWeighting, // key extractor, comparing by...
Comparator.nullsLast((first, second) -> { // here you have weightings
if (first == 0) return 1; // 0 and then null last
if (second == 0) return -1;
return first - second;
})));
1, 2, 4, 7, 0, 0, ноль, ноль