是否有任何方法可以创建另一个具有两个arraylists的共同值的arraylist?

Víc*_*tín 1 java compare arraylist

也就是说,如果我有下一个:

ArrayList<Integer> array1 = new ArrayList<Integer>();
ArrayList<Integer> array2 = new ArrayList<Integer>();

array1 ==> (1,11,12,13,14,15,16,17,18)
array2 ==> (1,17,18)
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以创建具有共同值的另一个arraylist?

Jit*_*yay 8

使用此ArrayList方法:

ArrayList#retainAll(java.util.Collection)

所以,把它放在你的代码中.

 array1.retainAll(array2 );
Run Code Online (Sandbox Code Playgroud)

实施例==>

      List<Integer> first_list = new ArrayList<Integer>();

        first_list.add(10);
        first_list.add(20);
        first_list.add(30);

        List<Integer> second_list = new ArrayList<Integer>();
        second_list.add(40);
        second_list.add(20);
        second_list.add(30);

       List<Integer> third_list = new ArrayList<Integer>(second_list);
third_list.retainAll(first_list);

        for (int i = 0; i < third_list.size(); i++) {
            System.out.println("===>" + third_list.get(i));
        }
Run Code Online (Sandbox Code Playgroud)

最后我们可以看到,third_list只有列表first_list和second_list之间的共同元素.

  • +1.Didnt不知道`retainAll`. (2认同)