【发布时间】:2018-07-07 10:52:56
【问题描述】:
我创建了两个整数数组列表。 List1 包含 [1, 2, 2, 2, 5],List2 包含 [2]。我试过 List1.removeAll(List2) 应该只从 List1 中删除 2 一次,而不是从 List1 中删除所有出现的 2。 而且 List1.remove(List2) 根本不起作用。
public static void main(String[] args) {
ArrayList<Integer> list1 = new ArrayList<>();
list1.add(2);
list1.add(5);
list1.add(1);
list1.add(2);
list1.add(2);
Collections.sort(list1);
System.out.println(list1);
ArrayList<Integer> list2 = new ArrayList<>();
list2.add(2);
list1.removeAll(list2);
System.out.println(list1);
}
Expected OUTPUT - [1, 2, 2, 2, 5]
[1, 2, 2, 5]
Actual OUTPUT - [1, 2, 2, 2, 5]
[1, 5]
【问题讨论】:
-
应该只从 List1 中删除 2 一次,而不是删除所有出现的事件 根据谁或什么?
-
因为这是它应该做的,根据它的规范,你可以在 javadoc 中阅读。