两个列表中的常见元素
我有两个对象,每个对象有三个整数。我想找到一种方法来返回两个列表的公共元素。有没有人知道我如何实现这一目标?ArrayList
我有两个对象,每个对象有三个整数。我想找到一种方法来返回两个列表的公共元素。有没有人知道我如何实现这一目标?ArrayList
listA.retainAll(listB);
// listA now contains only the elements which are also contained in listB.
如果要避免 更改受到影响,则需要创建一个新更改。listA
List<Integer> common = new ArrayList<Integer>(listA);
common.retainAll(listB);
// common now contains only the elements which are contained in listA and listB.
您可以对对象使用设置交集操作。ArrayList
像这样:
List<Integer> l1 = new ArrayList<Integer>();
l1.add(1);
l1.add(2);
l1.add(3);
List<Integer> l2= new ArrayList<Integer>();
l2.add(4);
l2.add(2);
l2.add(3);
System.out.println("l1 == "+l1);
System.out.println("l2 == "+l2);
List<Integer> l3 = new ArrayList<Integer>(l2);
l3.retainAll(l1);
System.out.println("l3 == "+l3);
现在,应该只有 和 之间的公共元素。l3
l1
l2
CONSOLE OUTPUT
l1 == [1, 2, 3]
l2 == [4, 2, 3]
l3 == [2, 3]