Java 7中的Java领域结果排序?

Java 7中的Java领域结果排序?,java,android,realm,realm-java,Java,Android,Realm,Realm Java,RealmResults排行榜列表=realm.where(leadboard.class).distinct(“score”).findAll() 结果是字符串,它们实际上只是存储为字符串的大数字,因为Realm不支持biginger。我需要做的是以数字顺序输出这些数字 无法使用集合(排序),因为最小sdk为16。使用streamsupportlib也没什么好运气。我目前正在尝试将RealmResults转换为一个简单的字符串数组,以便对其进行排序,但我遇到了麻烦。以下内容会导致强制转换错误,

RealmResults排行榜列表=realm.where(leadboard.class).distinct(“score”).findAll()

结果是
字符串
,它们实际上只是存储为
字符串
的大数字,因为Realm不支持
biginger
。我需要做的是以数字顺序输出这些数字

无法使用
集合(排序)
,因为最小sdk为16。使用streamsupportlib也没什么好运气。我目前正在尝试将
RealmResults
转换为一个简单的字符串数组,以便对其进行排序,但我遇到了麻烦。以下内容会导致强制转换错误,但即使在更改之前也会导致
ldrStrings.get(0)
输出类似于
proxy[((75000))]
的内容,这是实数,但被该文本包围:

RealmResults排行榜列表=
realm.where(leadboard.class).distinct(“score”).findAll();
排行榜[]排行榜阵列=(排行榜[])排行榜列表。toArray();
List ldrStrings=newarraylist(leadboardarray.length);
用于(对象:排行榜阵列){
ldrStrings.add(object!=null?object.toString():null);
}
Collections.sort(ldrStrings,newcomparator(){
@凌驾
公共整数比较(字符串o1、字符串o2){
BigInteger bi1=新的BigInteger(o1);
BigInteger bi2=新的BigInteger(o2);
返回bi1.compareTo(bi2);
}
});

对后人来说:这个问题太过深思熟虑了。下面是一个解决方案,它采用RealmResults列表,将结果迭代到字符串数组中,将字符串转换为BigInteger,并将其从最大值排序到最小值

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

    Leaderboard[] leaderboardArray = (Leaderboard[]) leaderboardList.toArray();

    List<String> ldrStrings = new ArrayList(leaderboardArray.length);
    for (Object object : leaderboardArray) {
        ldrStrings.add(object != null ? object.toString() : null);
    }

    Collections.sort(ldrStrings, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            BigInteger bi1 = new BigInteger(o1);
            BigInteger bi2 = new BigInteger(o2);
            return bi1.compareTo(bi2);
        }
    });
RealmResults排行榜列表=realm.where(leadboard.class).distinct(“score”).findAll();
列表字符串=新的ArrayList();
对于(int i=0;i
我们谈论的对象有多少?您很可能需要立即加载
排行榜
表,才能使其正常工作。排行榜中只有一个对象得分。仅迭代5次(显示前5名分数)
RealmResults<Leaderboard> leaderboardList =
realm.where(Leaderboard.class).distinct("score").findAll();

    Leaderboard[] leaderboardArray = (Leaderboard[]) leaderboardList.toArray();

    List<String> ldrStrings = new ArrayList(leaderboardArray.length);
    for (Object object : leaderboardArray) {
        ldrStrings.add(object != null ? object.toString() : null);
    }

    Collections.sort(ldrStrings, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            BigInteger bi1 = new BigInteger(o1);
            BigInteger bi2 = new BigInteger(o2);
            return bi1.compareTo(bi2);
        }
    });
     RealmResults<Leaderboard> leaderboardList = realm.where(Leaderboard.class).distinct("score").findAll();
        List<String> strings = new ArrayList<>();
        for(int i = 0; i < leaderboardList.size(); i++) {
            strings.add(leaderboardList.get(i).getScore());
        }

        Collections.sort(strings, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                BigInteger bi1 = new BigInteger(o1);
                BigInteger bi2 = new BigInteger(o2);
                return bi2.compareTo(bi1);
            }
        });