文章目录
一、使用 for 循环遍历集合
二、使用 each 方法遍历集合
三、集合的 each 方法返回值分析
四、完整代码示例
一、使用 for 循环遍历集合
使用 for 循环 , 遍历集合 , 格式为 : for ( 变量名 in 集合变量名 ) ;
// 使用 for 循环遍历集合 println "" for (i in list) { print i + " " } println ""
执行结果 :
1 2 3
二、使用 each 方法遍历集合
调用集合的 each 方法 , 传入闭包作为参数 , 可以遍历集合 , 闭包就是遍历时执行的内容 ;
public static <T> Iterable<T> each( Iterable<T> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure closure)
代码示例 :
// II. 调用集合的 each 方法遍历 // 使用集合的 each 方法进行遍历 // 传入的闭包参数 , 就是循环体内容 // 闭包中的 it 参数 , 就是当前正在遍历的元素本身 list.each { print it + " " } println ""
执行结果 :
1 2 3
三、集合的 each 方法返回值分析
使用新的集合变量接收 集合 each 方法的返回值 , 如果修改该变量的值 , 则原集合的值也会跟着改变 , 说明 each 方法返回的集合就是原来的集合 ;
代码示例 :
// III. 集合的 each 方法 返回的集合就是原来的集合 // 接收 each 方法返回的集合 def list2 = list.each { print it + " " } list2[0] = "8" println list println list2
执行结果 :
1 2 3 [8, 2, 3] [8, 2, 3]
四、完整代码示例
完整代码示例 :
class Test { static void main(args) { // 为 ArrayList 设置初始值 def list = ["1", "2", "3"] // I. 使用 for 循环遍历 // 使用 for 循环遍历集合 println "" for (i in list) { print i + " " } println "" // II. 调用集合的 each 方法遍历 // 使用集合的 each 方法进行遍历 // 传入的闭包参数 , 就是循环体内容 // 闭包中的 it 参数 , 就是当前正在遍历的元素本身 list.each { print it + " " } println "" // III. 集合的 each 方法 返回的集合就是原来的集合 // 接收 each 方法返回的集合 def list2 = list.each { print it + " " } println "" list2[0] = "8" println list println list2 } }
执行结果 :
1 2 3 1 2 3 1 2 3 [8, 2, 3] [8, 2, 3]