Сортировать строки RealmResults численно?

Мне нужно отсортировать этот список String которые на самом деле являются большими числами (пришлось использовать это, так как BigInteger не поддерживается Realm)

RealmResults<Leaderboard> leaderboardList = realm.where(Leaderboard.class).distinct("score").findAll().sort("score",Sort.DESCENDING);

Результаты 5 Strings со следующими номерами:
75000
74990
6079990
5006079990
1079990

которые отображаются в таком порядке, когда сортируются по Sort.DESCENDING

Мне нужно на самом деле отсортировать их правильно, и не могу получить какое-либо решение с Collection работая с RealmResults список. Также возникают проблемы при использовании toArray() метод RealmResults поскольку во всех случаях есть проблемы с разными типами, которые я не понимаю.

Буду признателен за любую помощь, спасибо!

1 ответ

RealmResults инвентарь java.util.Collection так ты не можешь просто написать

Comparator<Leaderboard> descendingScore = (l1, l2) ->
       (new BigDecimal(l2.getScore()).compareTo(new BigDecimal(l1.getScore()));
List<Leaderboard> leaderboardList = realm.where(Leaderboard.class)
    .distinctValues("score")
    .findAll()
    .stream()
    .sorted(descendingScore)
    .collect(Collectors.toList());
Другие вопросы по тегам