В Groovy цикл for на основе индекса — это мощная конструкция, позволяющая перебирать коллекцию или диапазон значений, а также получать доступ к индексу каждого элемента. В этой статье представлены различные методы и примеры кода, позволяющие максимально эффективно использовать индексные циклы for в Groovy. Давайте погрузимся!
Метод 1: использование замыкания eachWithIndex
Замыкание eachWithIndex – это удобный метод, который позволяет перебирать коллекцию, обеспечивая при этом доступ к индексу. Вот пример:
def fruits = ['apple', 'banana', 'orange']
fruits.eachWithIndex { fruit, index ->
println("Index: $index, Fruit: $fruit")
}
Выход:
Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: orange
Метод 2: использование цикла forс диапазоном и метода size().
Вы также можете использовать традиционный цикл forс диапазоном. и метод size()для перебора коллекции. Вот пример:
def animals = ['cat', 'dog', 'elephant']
for (i in 0..<animals.size()) {
println("Index: $i, Animal: ${animals[i]}")
}
Выход:
Index: 0, Animal: cat
Index: 1, Animal: dog
Index: 2, Animal: elephant
Метод 3: использование метода eachWithIndexс замыканием диапазона
Вы можете использовать метод eachWithIndexнепосредственно в диапазоне для перебора последовательности чисел. Вот пример:
(1..5).eachWithIndex { number, index ->
println("Index: $index, Number: $number")
}
Выход:
Index: 0, Number: 1
Index: 1, Number: 2
Index: 2, Number: 3
Index: 3, Number: 4
Index: 4, Number: 5
Метод 4: использование метода withIndex()
Метод withIndex() — это еще один подход к доступу к индексу при переборе коллекции. Вот пример:
def colors = ['red', 'green', 'blue']
colors.withIndex().each { color, index ->
println("Index: $index, Color: $color")
}
Выход:
Index: 0, Color: red
Index: 1, Color: green
Index: 2, Color: blue
В этой статье мы рассмотрели несколько методов реализации индексных циклов for в Groovy. Используя эти методы, вы можете перебирать коллекции, диапазоны и последовательности, получая доступ к индексу каждого элемента. Освоение индексных циклов for в Groovy, несомненно, улучшит ваши навыки программирования и поможет писать более эффективный код.