1. 主页 > 小妙招

Java数组遍历的5种常用方法及代码实例

哎,刚学Java那会儿总被数组遍历搞得头大是吧?明明数据都存在数组里,怎么一个个拿出来用啊?网上教程动不动就甩专业术语,今天咱们就掰开了揉碎了说,用最直白的普通话告诉你——??新手如何快速涨粉编程技能??,就从这5个必会的数组遍历方法开始!

(敲黑板)先看这个最基础的场景:你有个装水果名的数组["苹果","香蕉","橘子"],现在要把每个水果都打印出来。怎么做?咱们一个个方法往下试...

方法1:原始for循环

这就跟数豆子似的,从第一个数到最后一个。来看代码:

java复制
String[] fruits = {"苹果","香蕉","橘子"};
for(int i=0; i

??关键点??:用i当计数器,从0开始数到数组长度减1。注意别写成i<=fruits.length,新手十有八九会在这里报数组越界的错!

方法2:增强for循环

Java5开始有的这个神器,代码量直接砍半:

java复制
for(String fruit : fruits){
    System.out.println(fruit);
}

??优势??:不用管下标,特别适合只要元素不要索引的情况。但问题来了——要是中途想跳过某些元素怎么办?这时候还是得用回传统for循环。

方法3:while循环

虽然用的少,但某些特殊场景还真得用它:

java复制
int i=0;
while(i < fruits.length){
    System.out.println(fruits[i]);
    i++;
}

??适用场景??:比如要动态改变循环条件的时候。但千万记得写i++啊!我见过有新手忘记写这个,结果死循环把电脑卡死...

方法4:Arrays.toString()

严格说这不叫遍历,但确实能快速看数组内容:

java复制
System.out.println(Arrays.toString(fruits));

输出结果是[苹果, 香蕉, 橘子],适合调试用。不过注意这会把整个数组转成字符串,大数组慎用!

方法5:Stream流

Java8的新特性,看着高级其实不难:

java复制
Arrays.stream(fruits).forEach(System.out::println);

??优势??:一行搞定还能玩各种过滤操作。比如只要包含"果"字的水果:

java复制
Arrays.stream(fruits)
      .filter(f -> f.contains("果"))
      .forEach(System.out::println);

现在问题来了——这么多方法我该用哪个?咱们直接上对比表:

方法需要索引可修改元素适合场景
传统for??精确控制遍历过程
增强for??简单读取元素
while循环??动态调整循环条件
Arrays工具类??快速查看数组内容
Stream流??链式处理数据

看到这可能有疑问:不是说有5种方法吗?怎么还有人说用迭代器?其实啊,数组本身不用迭代器,那是给集合准备的,别被网上教程带偏了!

个人观点:刚入门建议先用增强for循环,等熟悉了再玩Stream流。要是面试被问到遍历方法,一定得提传统for和增强for的区别,这个绝对是考点!

本文由嘻道妙招独家原创,未经允许,严禁转载