我有两个列表第一:{1,2,3,4,5},第二:{2,4}如何从第一个列表中删除元素,其中包含第二个?结果我应该有第三个列表{1,3,5}
yduiuuwa1#
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(2); list.add(3); list.add(4); list.add(5); List<Integer> list2 = new ArrayList<>(); list2.add(2); list2.add(4); list.removeAll(list2); System.out.println("list = " + list);
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); List<Integer> list2 = new ArrayList<>(); list2.add(2); list2.add(4); for(Integer i: list2){ if (list.contains(i)){ int indexOfi = list.indexOf(i); list.remove(indexOfi); } } System.out.println("list = " + list);
这种方法的局限性在于:它只能删除 list2 元素 list .例如:列表:[1,2,2,3,4,5],列表2:[2,4]。结果是[1,2,3,5]。要删除重复项,可以更改 if (list.contains(i)) 至 while (list.contains(i)) .
list2
list
if (list.contains(i))
while (list.contains(i))
1条答案
按热度按时间yduiuuwa1#
简化版
复杂版本
这种方法的局限性在于:它只能删除
list2
元素list
.例如:列表:[1,2,2,3,4,5],列表2:[2,4]。结果是[1,2,3,5]。
要删除重复项,可以更改
if (list.contains(i))
至while (list.contains(i))
.