遍历java集合或数组的几种方式

本文介绍了四种数组遍历的方法,并分析了各自的优缺点。方式1频繁调用数组长度,效率较低;方式2引入额外变量,作用域可能被污染;方式3避免了上述两个问题但多定义了一个变量;方式4简洁高效,但不适用于需要索引的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以数组为例,基本上有下面4种常见的遍历方式:

public class Test {

    public static void main(String[] args) {

        // 方式1
        for (int i = 0; i < Test.array().length; i++) {
        }
        System.out.println("---");

        // 方式2
        int length = Test.array().length;
        for (int i = 0; i < length; i++) {
        }
        System.out.println("---");

        // 方式3
        for (int i = 0, size = Test.array().length; i < size; i++) {
        }

        // 方式4
        System.out.println("---");
        for (int i : Test.array()) {

        }

    }

    public static int[] array() {
        System.out.println("array");
        int[] result = {1, 2, 3};
        return result;
    }

}



方式1:多次调用函数,而这些调用是不必要的,浪费


方式2:引入了额外的length变量,而且该变量在整个方法作用域内都可见,有变量作用域污染问题


方式3:不存在方式1的浪费,不存在方式2的作用域污染,唯一不好的地方在于多定义一个变量


方式4:不存在方式1的浪费,不存在方式2的作用域污染,唯一不好的地方在于丢失了索引信息。


总之:不需要索引的时候使用方式4,需要索引的时候使用方式3。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值