如何返回第二列表中不存在的第一列表中的项目的子列表?

时间:2018-11-18 13:31:11

标签: java android collections

Android 4.4

假设我有2个列表。 我需要返回第一个列表中未包含在第二个列表中的项目的子列表。

例如:

[1,2,3,4,5] - [1,2,3,4,5] -> return []

[1,2,3,4,5] - [1,22,3,4,5] -> return [2]

[1,2,3,4,5] - [6,7,8,9,10] -> return [1,2,3,4,5]

[1,2,3,4,5] - [1,2,3,4,5,6] -> return []

[1,2,3,4,5] - [6,7,8,9,2] -> return [1,3,4,5]

我如何做到这一点呢? 我可以编写自定义java方法来做到这一点。但也许已经存在任何好的解决方案。

我需要这个,因为我需要从第一列表中删除第二列表中不包含的所有项目。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用List.removeAll(Collection)

List<Integer> listFirst = ...;
List<Integer> listSecond = ...;

List<Integer> listThird = new ArrayList<>(listFirst);// use of 3rd list to keep the 2 others
listThird.removeAll(listSecond);