我需要对这个String
列表进行排序,这些列表实际上是大数字(必须使用它,因为Realm不支持BigInteger
)
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
方法时也遇到问题,因为在所有情况下都存在一些我不理解的不同类型的问题。
感谢任何帮助,谢谢!
答案 0 :(得分: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());