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

Mat*_*les 0 java arraylist

我有两个ArrayLists

ArrayList<Integer> values = new ArrayList<Integer>();
values.add(9);
Run Code Online (Sandbox Code Playgroud)

那是一个,这是另一个:

ArrayList<Integer> values2 = new ArrayList<Integer>();
for(int j = 1; j < 10; j++){
        values2.add(j);
    }
Run Code Online (Sandbox Code Playgroud)

如何比较两者并从第二个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)
Run Code Online (Sandbox Code Playgroud)

这已经是几个小时了,我很感激您提供的任何帮助

Daw*_*ica 8

你用

values2.removeAll(values);
Run Code Online (Sandbox Code Playgroud)

从Javadoc Collection接口(http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html) -

boolean removeAll(Collection c)

删除同样包含在指定集合中的所有此集合的元素(可选操作).返回此调用后,此集合将不包含与指定集合相同的元素.