2011-02-13 37 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

相关问题