【Groovy】集合遍历 ( 使用集合的 eachWithIndex 方法进行遍历 | 代码示例 )

本文介绍Groovy中集合eachWithIndex方法的应用,此方法可以遍历集合并同时获取到元素及其索引,适用于需要操作集合元素及索引的场景。文中提供了一个具体的代码示例,展示了如何使用eachWithIndex遍历ArrayList。

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





一、使用集合的 eachWithIndex 方法进行遍历



集合的 eachWithIndex 方法 , 该函数传入一个 Closure 闭包作为参数 , 闭包中有 2 2 2 个参数 , 分别是 T 和 Integer 类型的 , T 就是集合元素类型 , Integer 是当前遍历的集合元素的索引值 ;

因此 , 使用 eachWithIndex 方法遍历集合 , 可以在传入的闭包中 , 得到集合的 当前遍历条目值 , 和 当前遍历的下标索引 ;

eachWithIndex 方法 返回值是 self 自身 , 可以看到 , 该方法的 返回值还是集合本身 , 如果在遍历过程中修改集合的值 , 原集合的值会被修改 ;


集合 eachWithIndex 方法原型 :


    /**
     * 迭代 iterable 类型,
     * 将每个项和项的索引(从零开始的计数器)传递给给定的闭包。
     *
     * @param self    一个 Iterable 实例对象
     * @param closure 在每个项中执行的闭包
     * @return Iterable 实例对象本身
     * @since 2.3.0
     */
    public static <T> Iterable<T> eachWithIndex(Iterable<T> self, @ClosureParams(value=FromString.class, options="T,Integer") Closure closure) {
        eachWithIndex(self.iterator(), closure);
        return self;
    }




二、代码示例



代码示例 :

class Test {
    static void main(args) {

        // 为 ArrayList 设置初始值
        def list = ["1", "2", "3"]


        // I. 使用 eachWithIndex 遍历集合 , 返回集合本身


        def list3 = list.eachWithIndex{ String entry, int i ->
            // String entry 是集合元素本身
            // int i 是集合元素下标
            println "$i : $entry"

        }
        println list
        println list3

    }
}

执行结果 :

0 : 1
1 : 2
2 : 3
[1, 2, 3]
[1, 2, 3]

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值