Класс IntProgression

Класс IntProgression представляет собой арифметическую прогрессию целых чисел с начальным значением first, конечным значением last и шагом step. Прогрессия может быть как возрастающей, так и убывающей в зависимости от знака шага.

Создание прогрессии

Для создания прогрессии используются функции until, downTo и оператор ..:

kotlinval progression1 = 1..10 // от 1 до 10 включительно, шаг 1
val progression2 = 1 until 10 // от 1 до 9, шаг 1
val progression3 = 10 downTo 1 // от 10 до 1, шаг -1
val progression4 = 1..10 step 2 // от 1 до 10, шаг 2

Свойства

kotlinval progression = 1..10 step 2

val first: Int = progression.first
val last: Int = progression.last
val step: Int = progression.step

Результат выполнения кода:

kotlinInt 1
Int 10
Int 2

Пример

Итерация по прогрессии с помощью цикла for:

kotlinfor (i in 1..5) {
  println(i)
}

Результат выполнения кода:

kotlinInt 1
Int 2
Int 3
Int 4
Int 5

Пример

Итерация по убывающей прогрессии:

kotlinfor (i in 5 downTo 1) {
  println(i)
}

Результат выполнения кода:

kotlinInt 5
Int 4
Int 3
Int 2
Int 1

Пример

Итерация с шагом 2:

kotlinfor (i in 1..10 step 2) {
  println(i)
}

Результат выполнения кода:

kotlinInt 1
Int 3
Int 5
Int 7
Int 9

Пример

Использование функции until для исключения последнего элемента:

kotlinfor (i in 1 until 5) {
  println(i)
}

Результат выполнения кода:

kotlinInt 1
Int 2
Int 3
Int 4

Пример

Проверка наличия элемента в прогрессии:

kotlinval progression = 1..10 step 2
val contains3 = 3 in progression
val contains4 = 4 in progression

println(contains3)
println(contains4)

Результат выполнения кода:

kotlinBoolean true
Boolean false

Смотрите также

  • тип Int,
    целочисленный тип данных
  • тип Iterable,
    интерфейс для объектов, по которым можно итерироваться
  • тип Sequence,
    последовательность элементов
  • тип Array,
    массив элементов