2014-06-06 84 views
-4

假設我有兩個列表。Java比較2列表,看看是否包含其他任何項目

List1:John,Derek,Oliver。 List2:Nico,Yosi,Derek

我需要比較這兩個列表,並查看列表1是否包含來自list2的ANYTHING。我有 一直在嘗試幾天!這是用java編寫的。

+1

,通過第二的所有元素迭代並進行比較。 – Sesame

+2

看一些收藏Javadoc。你看過List的'retainAll'方法 - 可能是一個很好的開始。 –

+0

我用 \t \t \t \t \t \t'爲(字符串BLV:黑名單){ \t \t \t \t \t \t \t如果(className.toString()包含(blv.toString())){ \t \t \t \t \t \t \t \t noneFound = false; \t \t \t \t \t \t \t \t休息; \t \t \t \t \t \t \t}否則{ \t \t \t \t \t \t \t \t noneFound = TRUE; \t \t \t \t \t \t \t} \t \t \t \t \t \t}'毫無效果 – pablo67340

回答

4

retainAll方法應該做的伎倆:

list1.retainAll(list2); 
if (list1.isEmpty()) { 
    System.out.println ("list1 contains no elements from list2"); 
} 

編輯:
注意,這將修改list1。如果您不想更改list1,則可以使用臨時對象。

1

如果你想要的東西簡單 - 雙for循環,你遍歷在第一個列表,每個元素的所有元素,您可以使用disjoint方法

boolean nothingInCommon = Collections.disjoint(list1, list2); 
+0

它看起來像一個很好的路要走,但我嘗試過了,它需要的字符串,同時我的名單列表,我嘗試使用。的toString() – pablo67340

相關問題