在Java 7中是否有正确的方法在数组上使用for循环进行迭代,然后在不导入任何内容的情况下检查特定数字?
我已经多次看到人们指向ArrayList
或List
,但如果我必须手动迭代int数组而不导入java.util?
以外的任何内容
答案 0 :(得分:3)
你只需要一个简单的for循环,例如:
/**
* @return the index of {@code num} in the given array, or `-1` if it's not there
*/
public static int findInArray(int[] arr, int num) {
for (int i = 0; i < arr.length; ++i) {
if (arr[i] == num) {
return i;
}
}
return -1;
}
答案 1 :(得分:2)
是的,有,你可以在这里使用a for each循环:
Type[] arr = { /* Values */ };
for (Type val : arr)
{
if (val == /* Value you want to check */)
// Or use .equals if the type isn't a primitive type, such as String
{
// Do something with val
break;
}
}
如果您的数据很大且已整理,您甚至可能希望实施binary search。