Java遍历数组(5种方式最全详解)

Java遍历数组(5种方式最全详解)-mikechen

Java遍历数组是Java程序开发经常用到的,那问题是有哪些遍历的方式?下面我会带着详解5种方式@mikechen

for循环遍历

这是大家最常用的遍历方式,语法格式如下

for(初始化;布尔表达式;更新){

​ //代码语句

}

for循环遍历一维数组很简单,一目了解,代码如下:

for(int i = 0; i < arry.length; i++){
    system.out.println(arry[i])
}

除此之外,还可以遍历二维数组,需要使用双层for循环,代码如下:

public static void main(String[] args) {
       int Arr[][]={{1,2,3},{4,5,6}};
       for (int i = 0; i < Arr.length; i++) {
           for (int j = 0; j < Arr[i].length; j++) {
               System.out.print(Arr[i][j]+" ");
           }
       }
   }

 

 

forEach方法

通常遍历数组都是使用for循环来实现的,但是for循环不够简洁,java5之后提供了一种更简洁的循环:foreach循环。

语法格式:

for(type element: array)
{
    System.out.println(element);
}

这种循环遍历数组和集合更加简洁,使用foreach循环遍历数组时,无须获得数组和集合长度,无须根据索(下标)引来访问数组元素,foreach循环自动遍历数组和集合的每一个元素,比如:

int a[] = {1,2,3,4} ;
        for (int element:a){
            System.out.println(element);

        }

 

Java迭代器

在 面向对象编程里,迭代器模式是一种设计模式,迭代器模式提供了一种方法顺序访问一个集合对象中的各个元素,而又不暴露其内部的表示。

Java中也提供了对迭代器模式的支持,主要是针对Java的各种集合类进行遍历。

Integer[] arry = {1,2,3,4,5};
List<Integer> list = Arrays.asList(arry);
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()) {
    System.out.println(iterator.next());
}

这种方式比较烦,一般不建议使用,没有for循环和forEach简单明了。

 

while循环遍历

while是最基本的循环,语法格式如下:

while(布尔表达式) {
    //循环内容
}

只要布尔表达式为true,循环就会一直执行下去,我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环,比如:

public static void main(String[] args) {
    int[] arr = {1,2,3,4,5,6};
    int i = 0;
    while(i < arr.length){
        System.out.println(arr[i]);
        i++;
    }
}

 

stream遍历

Java8提供了Stream(流)处理集合的关键抽象概念,Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象,它可以对集合遍历。

Arrays.asList(arry).stream().forEach(x -> System.out.println(x));

也可以这样操作:

Arrays.asList(arry).stream().forEach(System.out::println);

 

 

 

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法