2011-02-13 33 views
2

我有我的腦海裏一個簡單的想法,但我不知道如何實現它正確...... 這裏的交易:檢查整個ArrayList中Java中

說有一個叫myList中尺寸5的ArrayList和那麼存在一個名爲testNumber的Integer 。 myList和/或testNumber中的值是不相關的。

我需要做的是比較各myList中的整數 的testNumber變量,如果testNumber不等於他們沒有,然後執行操作(即System.out.println("hi");)。

我應該怎麼辦呢?

回答

3

你根本

if (!myList.contains(testNumber)) 
    System.out.println("no element equals " + testNumber); 

嚴格地說,這可能不「每個元素比較testNumber。所以,如果你在每個元素進行比較的「手工」的方式實際上有興趣,這裏是如何:

boolean found = false; 
for (int i : myList) { 
    if (i == testNumber) 
     found = true; 
} 

if (!found) 
    System.out.println("no element equals " + testNumber); 
+1

事實上,`contains`方法,直到一個合適的一個被找到的每個元素進行比較。 (它使用equals方法而不是`==`,)。 – 2011-02-13 23:13:09

4

ArrayList中有一個名爲contains()方法,該方法適用於這個任務:

返回true如果此列表包含 指定的元素。更正式地, 返回true當且僅當該列表 包含至少一個元素,例如(o == null?e == null: o.equals(e))。

您可以用它如下:

if(!myList.contains(testNumber)) { 
    PerformOperation(); 
} 
+2

不要寫`... == false`,寫`! ...`。對於布爾型,只有當雙方都不是常量時,`==`和`!=`纔是明智的。 – 2011-02-13 23:15:11

相關問題