Я использую сетку для отображения рейтинга игроков.Список сортируется различными компараторами на сервере, но могут быть сценарии, в которых 2 строки имеют одинаковое ранжирование.В приведенном ниже примере первые две строки должны иметь номер # 1, а последние две должны быть оба # 2.
Я реализовал рейтинговые числа какследующий столбец:
rankings.addColumn(this::getRowIndex).setWidth("2em")
.setResizable(true);
С помощью этого метода:
private String getRowIndex(TeamHasFormatRecord thfr)
{
index++;
return String.valueOf(index);
}
Какой это базовый счетчик.Единственный способ, которым я мог придумать, - это в основном получить каждую запись и найти ее место в списке, но я думаю, что она может быть слишком тяжелой и не будет хорошо расти.
Есть предложения?
Обновление Вот текущий компаратор:
Comparator.comparingDouble((TeamHasFormatRecord thfr) -> thfr.getPoints())
.thenComparingDouble(thfr -> thfr.getMean())
.thenComparingDouble(thfr -> thfr.getStandardDeviation())
.reversed()