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的区别,这个绝对是考点!
本文由嘻道妙招独家原创,未经允许,严禁转载