Котлин для петли
#KotlinВ Kotlin цикл for эквивалентен циклу foreach других языков, таких как C #. Здесь цикл for используется для обхода любой структуры данных, которая предоставляет итератор. Он используется совсем иначе, чем цикл for других языков программирования, таких как Java или C.
Синтаксис цикла for в Котлине:
for(item in collection) {
// code to execute
}
В Kotlin цикл for используется для итерации следующего, поскольку все они предоставляют итератор.
- Ассортимент
- массив
- строка
- Коллекция
Итерация по диапазону с использованием цикла for —
Вы можете пройти через Range, потому что он предоставляет итератор. Есть много способов перебора Range. Оператор in, используемый в цикле for для проверки значения, находится в диапазоне или нет.
Ниже программа пример обхода диапазона различных способов и в операторе , чтобы проверить значение в диапазоне. Если значение находится между диапазонами, оно возвращает true и печатает значение.
- Переберите диапазон, чтобы вывести значения:
fun main(args: Array<String>){for(i in 1..6) {print("$i ")}}- Выход:
1 2 3 4 5 6
- Итерация по диапазону для перехода с помощью шага 3:
fun main(args: Array<String>){for(i in 1..10step 3) {print("$i ")}}- Выход:
1 4 7 10
- Вы не можете перебирать Range сверху вниз, не используя DownTo :
fun main(args: Array<String>){for(i in 5..1) {print("$i ")}println("It prints nothing")}- Выход:
It prints nothing
- Выполните итерацию по Range сверху вниз, используя downTo :
fun main(args: Array<String>){for(i in 5downTo 1) {print("$i ")}}- Выход:
5 4 3 2 1
- Перейдите через Range сверху вниз, используя downTo и шаг 3 :
fun main(args: Array<String>){for(i in 10downTo 1step 3) {print("$i ")}}- Выход:
10 7 4 1
Итерация по массиву с использованием цикла for —
- Массив — это структура данных, которая содержит тот же тип данных, что и Integer или String. Массив можно просмотреть с помощью цикла for, поскольку он также предоставляет итератор. Каждый массив имеет начальный индекс и по умолчанию равен 0.
- Вы можете пройти через массив:
- Без использования свойства индекса
- С использованием свойства Index
- Использование функции библиотеки withIndex
- Обход массива без использования свойства index:
fun main(args: Array<String>) {var numbers = arrayOf(1,2,3,4,5,6,7,8,9,10)for(num in numbers){if(num%2== 0){print("$num ")}}}- Выход:
2 4 6 8 10
- Обход массива с использованием свойства index:
fun main(args: Array<String>) {var planets = arrayOf("Earth", "Mars", "Venus", "Jupiter", "Saturn")for(i in planets.indices) {println(planets[i])}}- Выход:
Earth Mars Venus Jupiter Saturn
withIndex()массива сwithIndex()библиотечной функцииwithIndex():fun main(args: Array<String>) {var planets = arrayOf("Earth", "Mars", "Venus", "Jupiter", "Saturn")for((index,value) in planets.withIndex()) {println("Element at $index th index is $value")}}- Выход:
Element at 0 th index is Earth Element at 1 th index is Mars Element at 2 th index is Venus Element at 3 th index is Jupiter Element at 4 th index is Saturn
Итерация по строке с использованием цикла for —
- Строка может быть пройдена с помощью цикла for, поскольку она также предоставляет итератор.
- Есть следующие способы прохождения строки:
- Без использования свойства индекса
- С использованием свойства Index
- Использование функции библиотеки withIndex
fun main(args: Array<String>) {var name = "Geeks"var name2 = "forGeeks"// обход строки без использования свойства indexfor(alphabet in name) print("$alphabet ")// обход строки с использованием свойства indexfor(i in name2.indices) print(name2[i]+" ")println(" ")// обход строки с использованием библиотечной функции withIndex ()for((index,value) in name.withIndex())println("Element at $index th index is $value")}- Выход:
G e e k s f o r G e e k s Element at 0 th index is G Element at 1 th index is e Element at 2 th index is e Element at 3 th index is k Element at 4 th index is s
Итерация по коллекции с использованием цикла for —
- Вы можете просмотреть коллекцию, используя цикл for. Существует три типа списка коллекций, карта и набор.
- В функции
listOf()мы можем передавать разные типы данных одновременно. - Ниже приведена программа для обхода списка с использованием цикла for.
fun main(args: Array<String>) {// только чтение, фиксированный размерvar collection = listOf(1,2,3,"listOf", "mapOf", "setOf")for(element in collection) {println(element)}}- Выход:
1 2 3 listOf mapOf setOf