Java 从Firestore获取ArrayList并从该列表中选择3个随机字符串

Java 从Firestore获取ArrayList并从该列表中选择3个随机字符串,java,arrays,firebase,google-cloud-firestore,Java,Arrays,Firebase,Google Cloud Firestore,我成功地获取了存储在数据库数组中的字符串(Log.d(“TAG”,entry.getValue().toString());显示了数组中字符串的值) 字符串是自动生成的文档ID,存储在Firestore中的数组中,因此目标是获得3个ID,以便我可以进行3次查询以获得实际文档 我现在一直在研究如何将从Firestore获得的字符串附加到ArrayList,然后从中获得3个单独的随机字符串 我是ArrayList的新手,因此非常感谢您的帮助 这是我的密码: questionRef.document(

我成功地获取了存储在数据库数组中的字符串(
Log.d(“TAG”,entry.getValue().toString());
显示了数组中字符串的值)

字符串是自动生成的文档ID,存储在Firestore中的数组中,因此目标是获得3个ID,以便我可以进行3次查询以获得实际文档

我现在一直在研究如何将从Firestore获得的字符串附加到ArrayList,然后从中获得3个单独的随机字符串

我是ArrayList的新手,因此非常感谢您的帮助

这是我的密码:

questionRef.document(tvCat1).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {

            DocumentSnapshot document = task.getResult();

            Map<String, Object> map = document.getData();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                if (entry.getKey().equals("questions")) {
                    Log.d("TAG", entry.getValue().toString());

// Create function that gets 3 different values from the ArrayList and store them in 3 different Strings

                }
            }
        }
    }
});

questionRef.document(tvCat1.get().addOnCompleteListener(新的OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
DocumentSnapshot document=task.getResult();
Map=document.getData();
对于(Map.Entry:Map.entrySet()){
if(entry.getKey().equals(“问题”)){
Log.d(“TAG”,entry.getValue().toString());
//创建从ArrayList获取3个不同值并将其存储在3个不同字符串中的函数
}
}
}
}
});
下面是我如何构建数据库的。目前我正在获取ArrayList,因此我没有太多的阅读。在右侧,当我从ArrayList中选择了3个随机文档ID时,您可以看到我想要查询的文档:


我找到了一种方法来达到理想的效果。我发布了现有问题的答案,以防止发布相同的答案。

请向我们展示包含
问题
数组的文档的屏幕截图,包括根集合。Hello@AlexMamo,我共享了一个屏幕截图
questionRef
是如何定义的?那个参考资料中的
tvCat1
值多少?你把我带到了那里,我的参考资料中有一个输入错误;)第二种方法现在正在工作,但是我如何使用它来从中获得3个随机ID?很高兴听到它工作了。检查。