java中遍历数组的方法_java遍历object数组

2022-11-04 21:45:00 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

参考 【JavaGuide】labmbda 表达式

引言

记录一下 Java 遍历数组的几种常见方法

下面以遍历整数数组为例

代码语言:javascript复制
Integer[] arr = { 
   1, 3, 4, 5, 6}; // 这里不能使用 int[],会报错
// !!!注意:使用 Arrays.asList 转换为集合时,不能用其进行修改集合的相关方法(add/remove)
List<Integer> list = Arrays.asList(arr);

1、利用 for 遍历

代码语言:javascript复制
// 1、利用 for 遍历
System.out.println("1、利用 for 遍历");
for (int i = 0; i < list.size(); i  ) { 
   
	System.out.print(list.get(i)   ", ");
}
  • 优点
    • 对于任意含下标的数据结构均适用
    • 可以通过下标访问数据元素
  • 缺点
    • 较为繁琐

2、利用 foreach 循环

代码语言:javascript复制
// 2、利用 foreach 循环
System.out.println("nn2、利用 foreach 循环");
for (int i : list) { 
   
	System.out.print(i   ", ");
}
  • 优点
    • 相对于 for 循环,较为简单
    • 可以处理任何实现了 Iterable 接口的对象,以及 8 大基本类型对应的包装类数组
  • 缺点
    • 无法通过下标访问数据元素

3、使用 -> 的 lambda 表达式遍历数组

代码语言:javascript复制
// 3、使用 -> 的 lambda 表达式遍历数组
System.out.println("nn3、使用 -> 的 lambda 表达式遍历数组");
list.forEach(i -> System.out.print(i   ", "));
  • 优点
    • 简单、方便
  • 缺点
    • 无法通过下标访问数据元素
    • 方法体中最好不要包含太多逻辑复杂的代码(可以通过方法引用 ::)

4、使用 :: 的 lambda 表达式遍历数组

代码语言:javascript复制
// 4、使用 :: 的 lambda 表达式遍历数组
System.out.println("nn4、使用 :: 的 lambda 表达式遍历数组");
list.forEach(System.out::println);
  • 优点
    • 简单、方便
  • 缺点
    • 不方便自定义打印内容的格式
      • (除非自己重新定义一个 print 方法,但是那样就违背了使用 lambda 表达式是“为了更简单”的初衷了)

5、基于流的方法

《Java 卷2》暂时没看,看了之后回头再补

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191672.html原文链接:https://javaforall.cn

0 人点赞