Сортировать строки 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());