Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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 比较两个ArrayList并从原始ArrayList中删除重复项_Java_Android_Arraylist - Fatal编程技术网

Java 比较两个ArrayList并从原始ArrayList中删除重复项

Java 比较两个ArrayList并从原始ArrayList中删除重复项,java,android,arraylist,Java,Android,Arraylist,我有两个自定义Arraylist: 我想在删除公共元素后将元素存储在列表中,并且该元素应该在删除公共元素后{3L,4L,5L}。尝试以下操作: HashSet hs = new HashSet(); hs.addAll(before); hs.addAll(after); after.clear(); after.addAll(hs); 现在,在after列表中,您可以得到期望值。FYI 列表和列表应为同一类型 逻辑 很简单。如果希望将来使用,请将现有变量的副本放入临时变量中 ArrayLis

我有两个自定义Arraylist:

我想在删除公共元素后将元素存储在列表中,并且该元素应该在删除公共元素后{3L,4L,5L}。

尝试以下操作:

HashSet hs = new HashSet();
hs.addAll(before);
hs.addAll(after);
after.clear();
after.addAll(hs);
现在,在after列表中,您可以得到期望值。

FYI

列表和列表应为同一类型

逻辑


很简单。如果希望将来使用,请将现有变量的副本放入临时变量中

ArrayList temporiginalArrList=原始ArrayList; //此处的“T”可以是要保存的特定对象


OriginalArrayList.removeAllsecondArrayList

将这两个列表中的项添加到HASHSET中,然后您将只获得1L、2L、3L、4L、5Lin hashsetafter.removeAllbefore,如果您能够正确比较对象,则可以重写.equals方法@DivyeshPatel如何从after列表中删除公共元素?HASHSET只允许唯一的条目,所以它只存储唯一的条目data@DivyeshPatel我想删除常用元素。@ShikhaRatra检查我的应答我的ArrayList不是同一类型
HashSet hs = new HashSet();
hs.addAll(before);
hs.addAll(after);
after.clear();
after.addAll(hs);
List<String> before = new ArrayList<String>();
List<String> after = new ArrayList<String>(); 
List<String> list_checking = new ArrayList<String>(before);
                            list_checking.addAll(after);
                            List<String> list_common = new ArrayList<String>(before);
                            list_common.retainAll(after);
                            list_checking.removeAll(list_common);