Java 扫描2D ArrayList以查找第一个列表中的唯一元素

Java 扫描2D ArrayList以查找第一个列表中的唯一元素,java,arrays,arraylist,Java,Arrays,Arraylist,我已经被困了好几个小时,找不到解决办法。 我想比较两个arrayList,其中我想将列表中的每个唯一元素放到另一个arrayList中 例如,如果我的one arrayList包含{0,1,2,3},并且我想将其与{1}、{2}、{3}进行比较,我想在我的'unqiue'arrayList中接收{2} 请帮帮我 编辑后 我会说得更具体一些。ArrayList1={0,1,2,3,4}和ArrayList2={{0,1,1}{0,1,2}}所以我想要的是在单个ArrayList中拥有ArrayLi

我已经被困了好几个小时,找不到解决办法。 我想比较两个arrayList,其中我想将列表中的每个唯一元素放到另一个arrayList中

例如,如果我的one arrayList包含{0,1,2,3},并且我想将其与{1}、{2}、{3}进行比较,我想在我的'unqiue'arrayList中接收{2} 请帮帮我

编辑后 我会说得更具体一些。ArrayList1={0,1,2,3,4}和ArrayList2={{0,1,1}{0,1,2}}所以我想要的是在单个ArrayList中拥有ArrayList1的唯一唯一性。在本例中,我希望ArrayList3={3,4}

您可以使用
列表的方法

它将从此列表中删除指定集合中包含的所有元素。因此,调用此函数后,列表将包含唯一的元素

假设您有
arrayList1
arrayList2
两个属性,您可以这样比较它们:

arrayList1.removeAll(arrayList2);
    private static <T> List<T> getUniqueList(final List<T> first, final List<T> second){
    final List<T> unique = new ArrayList<T>();
    for(final T element : first)
        if(second.contains(element))
            unique.add(element);
    return unique;
}

现在
arrayList1
只包含唯一的元素。

如果我正确解释了您的问题,您想在两个列表中形成一个新的公共元素列表吗?如果是,则遍历其中一个列表并检查第二个列表
是否包含(Object)
该元素,如果是,则将其添加到第三个列表中。我现在不能提供一个代码示例,但是当我使用计算机时,我会很乐意编辑它(如果必要的话)

编辑:

代码可能如下所示:

arrayList1.removeAll(arrayList2);
    private static <T> List<T> getUniqueList(final List<T> first, final List<T> second){
    final List<T> unique = new ArrayList<T>();
    for(final T element : first)
        if(second.contains(element))
            unique.add(element);
    return unique;
}
private static List getUniqueList(第一个最终列表,第二个最终列表){
最终列表唯一=新的ArrayList();
对于(最终T元素:第一个)
if(第二个包含(元素))
唯一。添加(元素);
返回唯一值;
}
或者,如果您使用的是Java 8:

    private static <T> List<T> getUniqueList(final List<T> first, final List<T> second){
    final List<T> unique = new ArrayList<>();
    first.stream().filter(second::contains).forEach(unique::add);
    return unique;
}
private static List getUniqueList(第一个最终列表,第二个最终列表){
最终列表唯一=新的ArrayList();
first.stream().filter(second::contains).forEach(unique::add);
返回唯一值;
}

是否确实要接收2?0不是你想要的吗?如果你想得到2,你也会得到1和3。。。?!您可以遍历一个列表,查看另一个列表是否包含(Object)
当前正在迭代的元素。我将再次编辑我的帖子。是的,这就是我一直在尝试的。。。我会说得更具体一些。ArrayList1={0,1,2,3}和ArrayList2={{0,1}{0,1,2}}所以我想要的是在单个ArrayList中拥有ArrayList1的唯一唯一性