方法一
public class Test {
public static void main(String[] args) {
// 测试数据
List<Integer> A = Arrays.asList(0,1,2,1);
List<Integer> B = Arrays.asList(2,2);
// 把a列表中的元素放在set集合中
Set<Integer> set = new HashSet<>(B);
// 使用迭代器遍历a
Iterator<Integer> iterator = A.iterator();
while (iterator.hasNext()) {
Integer next = iterator.next();
if (set.contains(next)) {
// 迭代删除
iterator.remove();
}
}
// 遍历结果
for (Integer i : A) {
System.out.println(i);
}
}
}
结果:
0
1
1
方法二
public class Test {
public static void main(String[] args) {
// 测试数据,不能使用Arrays.asList()方法,否则会报错
List<Integer> A = new ArrayList<>();
A.add(0);
A.add(1);
A.add(2);
A.add(1);
List<Integer> B = new ArrayList<>();
B.add(2);
B.add(2);
// 将集合A中和集合B中都存在的元素从集合A中移除
A.removeAll(B);
// 输出移除之后集合A中的元素
for (Integer i :A){
System.out.println(i);
}
}
}
结果:
0
1
1