// ejemplo de arreglo
Object[] arreglo = new Object[10];
//...
for (int i = 0; i < arreglo.length; i++){
// aqui se puede referir al objeto con arreglo[i];
}
//declaramos e inicializamos el arreglo de numeros int.
int [] arreglo = {5,7,8,3,12,45,95,2,56,789,123,456,789,14,1,3,45,84,984};
//for normal indicamos una variable i la que almacenara el indice del arreglo el cual vamos a iterar y se incrementara en uno.
for(int i=0;i<arreglo.length ; i++)
{
System.out.println(arreglo[i]);
}
//utilizamos un for-each para escribir menos codigo, indicando el tipo de dato,una variable pivote luego dos puntos (:) y finalmente el arreglo que vamos a recorrer
for(int pivote : arreglo)
{
System.out.println(pivote);
}
//utilizamos Java 8 con Lambdas , primero convertimos nuestro arreglo a una lista con el metodo Arrays.asList luego utilizamos el metodo foreach de las colecciones Java el cual nos pide un parametro Consumer.
Arrays.asList(arreglo).forEach(System.out::println);
//recorremos hasta el limite del array
for (i=0;i<array.length;i++) {//inicia el bucle
// va imprimiendo de forma constatnte hasta que termina el reccorido
System.out.println("i"+i);
}//cierra el bucle
没有最好的方法,但您的用例有不同的方法。由于数组的大小在 Java 中创建后不会改变,经典的方法是迭代索引:
这个方法使用一个简单的循环,以一个基元作为索引,所以它不会太昂贵,并且在您需要知道索引以及数组对象时使用。
如果数组中存在多少元素或不需要对索引的引用无关紧要,另一种方法是:
两种方式都需要很少的资源,你必须记住,在 Java 中过度考虑代码优化没有多大意义,因为在从 JIT 编译器优化虚拟机中字节码的执行方面投入了巨大的智能(及时)。
请记住,如果要最小化标头,建议在性能上下文中避免在简单情况下使用非常高的函数。下一个示例使用更多资源,因为它涉及安装几个额外的对象,这总是意味着更多的运行时和内存使用:
从 java 8 开始,您可以将函数式编程与 Lambdas 表达式一起使用
尽量使代码可读。
我希望它为您服务。
如果您的意思是完全遍历一个数组(这将读取它的所有元素),我真的认为任何优化都不能以一种或另一种方式应用(或可以忽略不计)超出可读性,这是因为编译器最终会进行转换其中。
我把这个问题留给你英文版,如果它可以帮助你,有更完整的答案: https ://stackoverflow.com/questions/1006395/fastest-way-to-iterate-an-array-in-java-loop -variable -vs-enhanced-for-statement
//我们声明变量 int []array=new int[100];