当前位置: 首页 > 面试题库 >

检查一个ArrayList中的元素是否存在于另一个中

杜联
2023-03-14
问题内容

我有两个arraylist

ArrayList<String> a1
ArrayList<String> a2

我想检查a2中是否存在a1的所有元素。这是我正在尝试的问题

if (Arrays.asList(a2).containsAll(Arrays.asList(a1)))
{a2ContainsA1=true;}

这没有给出一致的结果…还有其他方法可以做到吗?


问题答案:

不知道我是否正确理解了您的问题,为什么使用Arrays.asList()

试过这个:

    ArrayList<String> a1 = new ArrayList<String>();
    ArrayList<String> a2 = new ArrayList<String>();

    a1.add("a");
    a1.add("b");
    a2.add("b");
    a2.add("a");

    System.out.println(a2.containsAll(a1));

它输出true 添加一个额外的元素a1将使它失败(如预期):

     ArrayList<String> a1 = new ArrayList<String>();
    ArrayList<String> a2 = new ArrayList<String>();

    a1.add("a");
    a1.add("b");
    a1.add("c");
    a2.add("b");
    a2.add("a");

    System.out.println(a2.containsAll(a1));

它输出 false



 类似资料:
  • 我需要检查一个arraylist中的任何值是否存在于另一个arraylist中: 它打印“它不包含”。我需要知道是否有方法比较这两个arraylist,如果其他arraylist中存在任何值,它应该返回。我知道迭代可以有所帮助。有什么简单的方法可以做到这一点吗?

  • 问题内容: 我可能在这里找不到一个简单的单行代码,但这是我的问题: 如何检查ArrayList是否包含另一个ArrayList中的所有对象?我正在寻找(如果存在的话)类似的东西: 例如: 问题答案: 接口中有一个声明的方法。在您的设置中给出所需的答案。

  • 问题内容: 如何轻松检查一个ArrayList中的所有元素是否都是另一ArrayList的所有元素? 问题答案: 使用Collection.containsAll():

  • 问题内容: 如何检查一个DOM元素是否是另一个DOM元素的子元素?有内置的方法吗?例如,类似: 要么 如果没有,那么有什么想法怎么做?它还需要跨浏览器。我还应该提到,孩子可以嵌套在父级以下的多个级别。 问题答案: 更新: 现在有一种本地方法可以实现此目的。。在评论中也提到了答案。 旧答案: 使用该属性应该可以。从跨浏览器的角度来看,它也是非常安全的。如果已知这种关系是一级的,则可以简单地检查一下:

  • 问题内容: 我有两个数组,我想检查是否每个元素都在中。如果元素的值在中重复,则该元素的值必须相等。最好的方法是什么? 问题答案: 一种选择是对两个数组进行排序,然后遍历两个数组,然后比较元素。如果在超级袋中未找到子袋候选中的元素,则前者不是子袋。排序通常为O(n *log(n)),比较为O(max(s,t)),其中 s 和_t_是数组大小,总时间复杂度为O(m * log(m)) ,其中m =ma

  • 例1 我想检查a中的所有内容是否都存在于b中 从例子1中,上面的应该打印出false,后跟猕猴桃,因为b中没有猕猴桃。至于b中的额外水果,没有关系,因为我只想检查a的存在 上面打印的是false,所以我的问题是: 如果为false,如何打印不匹配的值,例如应该说false,然后是kiwi 有没有更好的方法来打印真假而不是containsAll方法