如何从另一个ArrayList中删除在一个ArrayList中找到的值?

时间:2013-10-30 02:49:46

标签: java arraylist

我有两个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)

这已经过了几个小时了,我感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:8)

您使用

values2.removeAll(values);

来自Collection界面(http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html)的Javadoc -

  

boolean removeAll(Collection c)

     

删除包含在其中的所有此集合的元素   指定的集合(可选操作)。这个电话之后   返回时,此集合将不包含与其共同的元素   指定的集合。