以數組為例,基本上有下面4種常見的遍歷方式:
public class Test { public static void main(String[] args) { // 方式1 for (int i = 0; i < Test.array().length; i++) { } System.out.PRintln("---"); // 方式2 int length = Test.array().length; for (int i = 0; i < length; i++) { } System.out.println("---"); // 方式3 for (int i = 0, size = Test.array().length; i < size; i++) { } // 方式4 System.out.println("---"); for (int i : Test.array()) { } } public static int[] array() { System.out.println("array"); int[] result = {1, 2, 3}; return result; }}
方式1:多次調用函數,而這些調用是不必要的,浪費
方式2:引入了額外的length變量,而且該變量在整個方法作用域內都可見,有變量作用域污染問題
方式3:不存在方式1的浪費,不存在方式2的作用域污染,唯一不好的地方在于多定義一個變量
方式4:不存在方式1的浪費,不存在方式2的作用域污染,唯一不好的地方在于丟失了索引信息。
總之:不需要索引的時候使用方式4,需要索引的時候使用方式3。
新聞熱點
疑難解答