2013-10-30 68 views
0

我有兩個的ArrayList如何從另一個ArrayList中刪除在一個ArrayList中找到的值?

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) 

現在,這一直是頭啄了幾個小時,我感謝所有幫助,您可以提供

回答

8

您使用

values2.removeAll(values); 

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

布爾的removeAll(Collection c)將

移除所有還包含在 指定的集合(可選操作)這個集合的元素。在此呼叫 返回後,此集合將不包含與 指定集合共有的元素。

+0

現在要把我的頭撞在一堵磚牆上,謝謝兄弟。我的個人資料圖片現在非常重要。 – MattKnowles

+0

@MattKnowles發生在我們身上。只要文檔是您的第一手資料,長遠來看,您一切都會好起來的。 –

相關問題