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