假設我有兩個列表。Java比較2列表,看看是否包含其他任何項目
List1:John,Derek,Oliver。 List2:Nico,Yosi,Derek
我需要比較這兩個列表,並查看列表1是否包含來自list2的ANYTHING。我有 一直在嘗試幾天!這是用java編寫的。
假設我有兩個列表。Java比較2列表,看看是否包含其他任何項目
List1:John,Derek,Oliver。 List2:Nico,Yosi,Derek
我需要比較這兩個列表,並查看列表1是否包含來自list2的ANYTHING。我有 一直在嘗試幾天!這是用java編寫的。
的retainAll
方法應該做的伎倆:
list1.retainAll(list2);
if (list1.isEmpty()) {
System.out.println ("list1 contains no elements from list2");
}
編輯:
注意,這將修改list1
。如果您不想更改list1
,則可以使用臨時對象。
如果你想要的東西簡單 - 雙for循環,你遍歷在第一個列表,每個元素的所有元素,您可以使用disjoint
方法
boolean nothingInCommon = Collections.disjoint(list1, list2);
它看起來像一個很好的路要走,但我嘗試過了,它需要的字符串,同時我的名單列表
,通過第二的所有元素迭代並進行比較。 – Sesame
看一些收藏Javadoc。你看過List的'retainAll'方法 - 可能是一個很好的開始。 –
我用 \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