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

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

文章目录

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

二、代码示例





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


集合的 eachWithIndex 方法 , 该函数传入一个 Closure 闭包作为参数 , 闭包中有 2 22 个参数 , 分别是 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]

image.png

目录
相关文章
|
3月前
集合中常见方法及遍历方式
集合中常见方法及遍历方式
31 1
|
3月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
5月前
|
索引
List集合(方法简介,集合遍历)
List集合(方法简介,集合遍历)
|
1月前
|
Java
Java Set 是一个不包含重复元素的集合接口,确保每个元素在集合中都是唯一的
【10月更文挑战第14天】Java Set 是一个不包含重复元素的集合接口,确保每个元素在集合中都是唯一的。本文介绍了 Set 的独特特性和两个常用实现类:基于哈希表的 HashSet 和基于红黑树的 TreeSet。通过示例代码展示了它们如何高效地处理唯一性约束的数据。
48 3
|
5月前
(Collection)集合遍历,进阶
(Collection)集合遍历,进阶
|
5月前
|
存储 Java
JavaSE——集合框架一(2/7)-Collection集合的遍历方式-迭代器、增强for循环、Lambda、案例
JavaSE——集合框架一(2/7)-Collection集合的遍历方式-迭代器、增强for循环、Lambda、案例
43 1
Java 查找两个有复杂对象的集合中的不同元素和相同的元素
Java 查找两个有复杂对象的集合中的不同元素和相同的元素
156 0
|
存储 Java 索引
【Java】集合与数组关系,认识集合,使用集合,集合使用判断情况
【Java】集合与数组关系,认识集合,使用集合,集合使用判断情况
10746 0
【Groovy】集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )
【Groovy】集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )
334 0
【Groovy】集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )
下一篇
无影云桌面