Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何存储两个数组中的公共值 ArrayListid=newarraylist(); ArrayListservicesid=新的ArrayList(); 对于(DocumentSnapshot DocumentSnapshot:task.getResult()){ 字符串documentid=documentSnapshot.getId(); id.add(documentid); } servicesid=getArguments().getStringArrayList(“serviceid”); 选择edid=servicesid.retainal(id);_Java_Android - Fatal编程技术网

Java 如何存储两个数组中的公共值 ArrayListid=newarraylist(); ArrayListservicesid=新的ArrayList(); 对于(DocumentSnapshot DocumentSnapshot:task.getResult()){ 字符串documentid=documentSnapshot.getId(); id.add(documentid); } servicesid=getArguments().getStringArrayList(“serviceid”); 选择edid=servicesid.retainal(id);

Java 如何存储两个数组中的公共值 ArrayListid=newarraylist(); ArrayListservicesid=新的ArrayList(); 对于(DocumentSnapshot DocumentSnapshot:task.getResult()){ 字符串documentid=documentSnapshot.getId(); id.add(documentid); } servicesid=getArguments().getStringArrayList(“serviceid”); 选择edid=servicesid.retainal(id);,java,android,Java,Android,我有两个数组希望从该数组中获取公共值。我使用Retainal获取公共值。例如:在第一个数组中有4个值,在第二个数组中有3个值。在这种情况下,在执行Retainal后,两个数组中的两个值都是公共值。我获取公共值,但第一个数组中只有两个值。我希望在执行Retainal后的第一个数组。如果不想在调用Retainal后改变servicesid列表,请克隆它: ArrayList<String>id=new ArrayList<>(); ArrayList<String>

我有两个数组希望从该数组中获取公共值。我使用Retainal获取公共值。例如:在第一个数组中有4个值,在第二个数组中有3个值。在这种情况下,在执行Retainal后,两个数组中的两个值都是公共值。我获取公共值,但第一个数组中只有两个值。我希望在执行Retainal后的第一个数组。

如果不想在调用
Retainal
后改变
servicesid
列表,请克隆它:

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);
List copy=new ArrayList(servicesid);
选择edid=copy.retainal(id);
变异现在将应用于
copy
,而
servicesid
将保持不变

您可以使用Apache Commons:

List<String> copy = new ArrayList<>(servicesid);
selectedid = copy.retainAll(id);
Collection common=CollectionUtils.intersection(id,servicesid)
Collection<String> common = CollectionUtils.intersection(id, servicesid)