3 回答

TA贡献1884条经验 获得超4个赞
Stream.filter()
List.contains()
:
import static java.util.Arrays.asList;
import static java.util.stream.Collectors.toList;
/* ... */
List<Integer> list1 = asList(1, 2, 3, 4, 5);
List<Integer> list2 = asList(1, 3, 5, 7, 9);
List<Integer> common = list1.stream().filter(list2::contains).collect(toList());

TA贡献1825条经验 获得超6个赞
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.

TA贡献1786条经验 获得超11个赞
您可以在您的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);
System.out.println("l2 == "+l2);
现在,l3之间应该只有共同的元素l1和l2.
CONSOLE OUTPUT
l1 == [1, 2, 3]
l2 == [4, 2, 3]
l3 == [2, 3]
l2 == [4, 2, 3]
添加回答
举报