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

vik*_*vde 1 java collections arraylist

我有两个arraylist

ArrayList<String> a1
ArrayList<String> a2
Run Code Online (Sandbox Code Playgroud)

我想检查a1的所有元素是否都存在于a2中.这就是我正在尝试从SO问题得到的东西

if (Arrays.asList(a2).containsAll(Arrays.asList(a1)))
{a2ContainsA1=true;}
Run Code Online (Sandbox Code Playgroud)

这没有给出一致的结果......有没有其他方法这样做?

Pet*_*son 7

不确定我是否正确理解了您的问题,为什么使用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));
Run Code Online (Sandbox Code Playgroud)

它输出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));
Run Code Online (Sandbox Code Playgroud)

它输出 false