我有两个ArrayLists
ArrayList<Integer> values = new ArrayList<Integer>();
values.add(9);
那是一个,这是另一个:
ArrayList<Integer> values2 = new ArrayList<Integer>();
for(int j = 1; j < 10; j++){
values2.add(j);
}
如何比较两者并从第二个ArrayList中删除9? 我尝试使用foreach语句,但我一直在
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 9, Size: 1
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
这已经过了几个小时了,我感谢您提供的任何帮助
答案 0 :(得分:8)
您使用
values2.removeAll(values);
来自Collection
界面(http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html)的Javadoc -
boolean removeAll(Collection c)
删除包含在其中的所有此集合的元素 指定的集合(可选操作)。这个电话之后 返回时,此集合将不包含与其共同的元素 指定的集合。