当前位置: 首页 > 知识库问答 >
问题:

Android-如何从Firebase检索对象的插入顺序列表?

南门正业
2023-03-14

如何在Firebase数据库中添加对象列表?

mrefuser.push().setValue(new MessageItem());

mrefuser.push().setValue(new MessageItem());

.

它是如何被添加的?

Firebase将每个对象存储为HashMap中的键值对。

如何检索这些值?

mFireBaseRefnew.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            final Map<String, MessageItem> messageMap = new LinkedHashMap<String, MessageItem>();
            if (dataSnapshot != null && dataSnapshot.getValue() != null) {

                for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                    HashMap<String,MessageItem> messageMap = (HashMap<String, MessageItem>) postSnapshot.getValue();
                    Collection<MessageItem> messageItems = messageMap.values() ;
                    List<MessageItem> messageItemList = new ArrayList<MessageItem>();
                    messageItemList.addAll(messageItems);                     
            }
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });

hashmap键的顺序是随机的。有什么方法可以得到链接的哈希图而不是哈希图。我不想存储密钥,因为数据库是维护顺序的,应该有一些方法以相同的顺序获得它们,但我不知道如何获得它们。

暂时还没有答案

 类似资料:
  • 问题内容: 我想弄清楚HashMap中的值被/可以被检索的顺序。这是相同的代码段。 输出: 值按插入顺序打印。这是真的吗?我期望值将以任意顺序打印。这是使用Java 6。 问题答案: 值按插入顺序打印。这是真的吗?我期望值将以随机顺序打印。 该没有定义迭代的顺序。 但是,如果查看HashMap的实现,则可以推断出迭代顺序,键的哈希值,键的插入顺序和哈希表的大小之间存在复杂的过渡关系。如果哈希表自行

  • 问题内容: 是否可以按照插入顺序从Python字典中检索项目? 问题答案: 如果您使用的是CPython 3.6+(或其他任何Python实现的Python 3.7+),则默认情况下,标准Python会执行此操作。 在旧版Python上,您可以使用。

  • 和我的数据库的结构: 正如您所看到的,“pasos”是一个字符串列表,而“成分”是一个成分列表。 我无法找到的是如何从数据库中检索这些列表,因为我想获得一个接收列表。我尝试了很多事情,但都是错误的,因为它没有检索到任何列表。 我还知道FB DB可以使用HashMaps,但我不知道如何检索它们或从hashmap传递到列表,而不必遍历hashmap每个位置 那我该怎么办呢?提前谢谢你

  • LinkedHashMap将所有调用委托给其父HashMap。它还支持基于accessOrder值的访问顺序和插入顺序。如果accessOrder:true,则使用访问顺序,否则使用accessOrder:false插入顺序 公共LinkedHashMap(int初始容量、浮点加载因子、布尔访问顺序) 但LinkedHashMap如何在内部支持对象的访问顺序和插入顺序呢?

  • 我想将所有Firebase子级转换为android中的列表。 像这样的东西:

  • 问题内容: 我正在法国学习,所以很难找到法语教程来解决我的问题。因此,我不得不问我的问题,希望有一个令人满意的解决方案。 我的问题是我在firebase上读取数据时遇到了麻烦,并且花了三天时间。 我有这样的结构: 我已经开始编写一些代码,可以恢复密钥,但是无法恢复这些值“ nom”,“ argent”等。 问题答案: John的替代方法是使用来获取每个属性: