Android 在firebase中将包含列表的对象保存为字段时定义键

Android 在firebase中将包含列表的对象保存为字段时定义键,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,当我使用setValueinstance在Firebase保存一个包含另一个Pojo的arraylist作为字段的Pojo时,这些列表会生成整数索引,如0、1、2、3。。作为钥匙。有没有办法自定义这些密钥?比如说,列表的Pojo对象是一个具有用户id的用户对象,我希望将该用户id作为列表项的键,而不是整数值 class Group{ ArrayList<User> users; } databaseReference.setValue(mygroupwithusers)

当我使用setValueinstance在Firebase保存一个包含另一个Pojo的arraylist作为字段的Pojo时,这些列表会生成整数索引,如0、1、2、3。。作为钥匙。有没有办法自定义这些密钥?比如说,列表的Pojo对象是一个具有用户id的用户对象,我希望将该用户id作为列表项的键,而不是整数值

class Group{
    ArrayList<User> users;
}

databaseReference.setValue(mygroupwithusers)

你所描述的是一张地图。将ArrayList中的值复制到HashMap中,映射的键是要用于每个用户对象的属性的名称。然后将该映射传递给setValue。

当然。。将arraylist替换为hashmap,现在我有了所需的内容