Groovy,如何使用索引迭代列表

时间:2012-03-01 19:46:39

标签: arrays list groovy loops

使用Groovy中的所有简写方法,在访问迭代索引时,必须有一种更简单的方法来迭代列表。

for(i in 0 .. list.size()-1) {
   println list.get(i)
}

基本for循环中是否没有隐式索引?

for( item in list){
    println item       
    println index
}

2 个答案:

答案 0 :(得分:92)

您可以使用eachWithIndex

list.eachWithIndex { item, index ->
    println item
    println index
}

使用Groovy 2.4及更高版本,您还可以使用indexed()方法。使用collect

等方法访问索引非常方便
def result = list.indexed().collect { index, item ->
    "$index: $item"
}
println result

答案 1 :(得分:1)

如果您想要开始索引1,请尝试此操作。

[ 'rohit', 'ravi', 'roshan' ].eachWithIndex { name, index, indexPlusOne = index + 1 ->
    println "Name $name has position $indexPlusOne"
}