我有我的脑海里一个简单的想法,但我不知道如何实现它正确...... 这里的交易:检查整个ArrayList中Java中
说有一个叫myList中尺寸5的ArrayList和那么存在一个名为testNumber的Integer 。 myList和/或testNumber中的值是不相关的。
我需要做的是比较各myList中的整数 的testNumber变量,如果testNumber不等于他们没有,然后执行操作(即System.out.println("hi");
)。
我应该怎么办呢?
我有我的脑海里一个简单的想法,但我不知道如何实现它正确...... 这里的交易:检查整个ArrayList中Java中
说有一个叫myList中尺寸5的ArrayList和那么存在一个名为testNumber的Integer 。 myList和/或testNumber中的值是不相关的。
我需要做的是比较各myList中的整数 的testNumber变量,如果testNumber不等于他们没有,然后执行操作(即System.out.println("hi");
)。
我应该怎么办呢?
你根本
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);
ArrayList中有一个名为contains()方法,该方法适用于这个任务:
返回true如果此列表包含 指定的元素。更正式地, 返回true当且仅当该列表 包含至少一个元素,例如(o == null?e == null: o.equals(e))。
您可以用它如下:
if(!myList.contains(testNumber)) {
PerformOperation();
}
不要写`... == false`,写`! ...`。对于布尔型,只有当双方都不是常量时,`==`和`!=`才是明智的。 – 2011-02-13 23:15:11
事实上,`contains`方法,直到一个合适的一个被找到的每个元素进行比较。 (它使用equals方法而不是`==`,)。 – 2011-02-13 23:13:09