ArrayList<String>id=new ArrayList<>();
ArrayList<String>servicesid=new ArrayList<>();
for(DocumentSnapshot documentSnapshot:task.getResult()){
String documentid=documentSnapshot.getId();
id.add(documentid);
}
servicesid = getArguments().getStringArrayList("serviceid");
selectedid=servicesid.retainAll(id);
我有两个数组想从该数组中获取公共(public)值。我正在使用 retainAll 获取公共(public)值。例如:在第一个数组中有 4 个值,在第二个数组中有 3 个值。在这种情况下,两个值在两个中都是公共(public)的执行 retainAll 后的数组我得到了共同的值,但第一个数组只有两个值。我希望在执行 retainAll 后第一个数组中有相同的值。
最佳答案
如果您不想在调用 retainAll
后改变 servicesid
列表,请克隆它:
List<String> copy = new ArrayList<>(servicesid);
selectedid = copy.retainAll(id);
突变现在将应用于 copy
并且 servicesid
将保持不变。
关于java - 如何存储两个数组中的公共(public)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50800431/