小编Mar*_*ina的帖子

按值组织 HashMap(Firebase 数据库快照)

Java 编程新手,无法找到答案。

我为我构建的一个小游戏创建了一个 Firebase 数据库,并设法使分数正确存储。现在我想建立排名前十的排行榜。数据库本身由最高分索引,我得到了前 10 名的分数:

mDatabase.child(gameName).child("Score").limitToFirst(10).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // Get user value
            HashMap<String,Long> topScores = (HashMap<String, Long>) dataSnapshot.getValue();
....
Run Code Online (Sandbox Code Playgroud)

问题在于(从我所见)我收到的是一个 HashMap,我将其存储在 topScores 中。同样,根据我目前的理解,HashMaps 是无组织的,所以当你打印它时,它看起来像这样:

{DummyData1=0, try=0, dummy2=5, lalala=10, Name1=0, try2=0, lala=11, try3=0, la=3, dummy=1}
Run Code Online (Sandbox Code Playgroud)

所以,没有明显的顺序。

最后,问题是您建议我如何对创建的 HashMap 进行排序,以便将 Key 和 Value 对存储在其相应的 TextView 中(TextView 第一行中的最高分和最高分,依此类推)。

作为参考,我打算如何展示排行榜

谢谢!

java android hashmap firebase firebase-realtime-database

4
推荐指数
1
解决办法
1454
查看次数