Java 遍历数组的常见方法
参考 【JavaGuide】
引言
记录一下 Java 遍历数组的几种常见方法
下面以遍历整数数组为例
Integer[] arr = { 1, 3, 4, 5, 6}; // 这里不能使用 int[],会报错 // !!!注意:使用 Arrays.asList 转换为集合时,不能用其进行修改集合的相关方法(add/remove) List<Integer> list = Arrays.asList(arr);
1、利用 for 遍历
// 1、利用 for 遍历 System.out.println("1、利用 for 遍历"); for (int i = 0; i < list.size(); i++) { System.out.print(list.get(i) + ", "); }
-
优点: 对于任意含下标的数据结构均适用 可以通过下标访问数据元素 缺点: 较为繁琐
2、利用 foreach 循环
// 2、利用 foreach 循环 System.out.println(" 2、利用 foreach 循环"); for (int i : list) { System.out.print(i + ", "); }
-
优点: 相对于 for 循环,较为简单 可以处理任何实现了 Iterable 接口的对象,以及 8 大基本类型对应的包装类数组 缺点: 无法通过下标访问数据元素
3、使用 -> 的 lambda 表达式遍历数组
// 3、使用 -> 的 lambda 表达式遍历数组 System.out.println(" 3、使用 -> 的 lambda 表达式遍历数组"); list.forEach(i -> System.out.print(i + ", "));
-
优点: 简单、方便 缺点: 无法通过下标访问数据元素 方法体中最好不要包含太多逻辑复杂的代码(可以通过方法引用 ::)
4、使用 :: 的 lambda 表达式遍历数组
// 4、使用 :: 的 lambda 表达式遍历数组 System.out.println(" 4、使用 :: 的 lambda 表达式遍历数组"); list.forEach(System.out::println);
-
优点: 简单、方便 缺点: 不方便自定义打印内容的格式 (除非自己重新定义一个 print 方法,但是那样就违背了使用 lambda 表达式是“为了更简单”的初衷了)
5、基于流的方法
《Java 卷2》暂时没看,看了之后回头再补
下一篇:
爱心发射代码带名字升级版