Java遍历数组
示例
您可以使用增强的for循环(akaforeach)或使用数组索引来遍历数组:
int[] array = new int[10];
//使用索引:读写
for (int i = 0; i < array.length; i++) {
array[i] = i;
}//扩展为:只读
for (int e : array) {
System.out.println(e);
}在这里值得注意的是,没有直接的方法可以在数组上使用迭代器,但是通过数组库,可以很容易地将其转换为列表以获取Iterable对象。
对于盒装数组,请使用Arrays.asList:
Integer[] boxed = {1, 2, 3};
Iterable<Integer> boxedIt = Arrays.asList(boxed); //列表支持的可迭代
Iterator<Integer> fromBoxed1 = boxedIt.iterator();对于原始数组(使用Java8),请使用流(在此示例中特别是Arrays.stream-->IntStream):
int[] primitives = {1, 2, 3};
IntStream primitiveStream = Arrays.stream(primitives); //列表支持的可迭代
PrimitiveIterator.OfInt fromPrimitive1 = primitiveStream.iterator();如果您不能使用流(没有Java8),则可以选择使用Google的番石榴库:
Iterable<Integer> fromPrimitive2 = Ints.asList(primitives);
在二维数组或更高的数组中,两种技术都可以以稍微复杂一些的方式使用。
例:
int[][] array = new int[10][10];
for (int indexOuter = 0; indexOuter < array.length; indexOuter++) {
for (int indexInner = 0; indexInner < array[indexOuter].length; indexInner++) {
array[indexOuter][indexInner] = indexOuter + indexInner;
}
}for (int[] numbers : array) {
for (int value : numbers) {
System.out.println(value);
}
}