Spec-Zone.ru › Kotlin 2

Объявления уровня пакета

kotlin-stdlib/kotlin.ranges

Диапазоны, прогрессии и связанные функции верхнего уровня и функции-расширения.

Типы

CharProgression

Начиная с Kotlin: 1.0

open class CharProgression : Iterable<Char> 

Прогрессия значений типа Char.

CharRange

Начиная с Kotlin: 1.0

class CharRange(start: Char, endInclusive: Char) : CharProgression, ClosedRange<Char> , OpenEndRange<Char> 

Диапазон значений типа Char.

ClosedFloatingPointRange

Начиная с Kotlin: 1.1

interface ClosedFloatingPointRange<T : Comparable<T>> : ClosedRange<T> 

Представляет диапазон чисел с плавающей точкой. Расширяет интерфейс ClosedRange, предоставляя пользовательскую операцию lessThanOrEquals для сравнения значений типа области значений диапазона.

ClosedRange

Начиная с Kotlin: 1.0

interface ClosedRange<T : Comparable<T>>

Представляет диапазон значений (например, чисел или символов), в который входят обе границы — нижняя и верхняя. Подробнее см. в документации по языку Kotlin.

IntProgression

Начиная с Kotlin: 1.0

open class IntProgression : Iterable<Int> 

Прогрессия значений типа Int.

IntRange

Начиная с Kotlin: 1.0

class IntRange(start: Int, endInclusive: Int) : IntProgression, ClosedRange<Int> , OpenEndRange<Int> 

Диапазон значений типа Int.

LongProgression

Начиная с Kotlin: 1.0

open class LongProgression : Iterable<Long> 

Прогрессия значений типа Long.

LongRange

Начиная с Kotlin: 1.0

class LongRange(start: Long, endInclusive: Long) : LongProgression, ClosedRange<Long> , OpenEndRange<Long> 

Диапазон значений типа Long.

OpenEndRange

Начиная с Kotlin: 1.9

interface OpenEndRange<T : Comparable<T>>

Представляет диапазон значений (например, чисел или символов), в который не входит верхняя граница. Подробнее см. в документации по языку Kotlin.

UIntProgression

Начиная с Kotlin: 1.5

open class UIntProgression : Iterable<UInt> 

Прогрессия значений типа UInt.

UIntRange

Начиная с Kotlin: 1.5

class UIntRange(start: UInt, endInclusive: UInt) : UIntProgression, ClosedRange<UInt> , OpenEndRange<UInt> 

Диапазон значений типа UInt.

ULongProgression

Начиная с Kotlin: 1.5

open class ULongProgression : Iterable<ULong> 

Прогрессия значений типа ULong.

ULongRange

Начиная с Kotlin: 1.5

class ULongRange(start: ULong, endInclusive: ULong) : ULongProgression, ClosedRange<ULong> , OpenEndRange<ULong> 

Диапазон значений типа ULong.

Функции

coerceAtLeast

Начиная с Kotlin: 1.0

fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
fun Byte.coerceAtLeast(minimumValue: Byte): Byte
fun Double.coerceAtLeast(minimumValue: Double): Double
fun Float.coerceAtLeast(minimumValue: Float): Float
fun Int.coerceAtLeast(minimumValue: Int): Int
fun Long.coerceAtLeast(minimumValue: Long): Long
fun Short.coerceAtLeast(minimumValue: Short): Short

Гарантирует, что это значение не меньше указанного minimumValue.

fun UByte.coerceAtLeast(minimumValue: UByte): UByte
fun UInt.coerceAtLeast(minimumValue: UInt): UInt
fun ULong.coerceAtLeast(minimumValue: ULong): ULong
fun UShort.coerceAtLeast(minimumValue: UShort): UShort

Гарантирует, что это значение не меньше указанного minimumValue.

coerceAtMost

Начиная с Kotlin: 1.0

fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
fun Byte.coerceAtMost(maximumValue: Byte): Byte
fun Double.coerceAtMost(maximumValue: Double): Double
fun Float.coerceAtMost(maximumValue: Float): Float
fun Int.coerceAtMost(maximumValue: Int): Int
fun Long.coerceAtMost(maximumValue: Long): Long
fun Short.coerceAtMost(maximumValue: Short): Short

Гарантирует, что это значение не больше указанного maximumValue.

fun UByte.coerceAtMost(maximumValue: UByte): UByte
fun UInt.coerceAtMost(maximumValue: UInt): UInt
fun ULong.coerceAtMost(maximumValue: ULong): ULong
fun UShort.coerceAtMost(maximumValue: UShort): UShort

Гарантирует, что это значение не больше указанного maximumValue.

coerceIn

Начиная с Kotlin: 1.1

fun <T : Comparable<T>> T.coerceIn(range: ClosedFloatingPointRange<T>): T

Гарантирует, что это значение находится в указанном диапазоне.

fun <T : Comparable<T>> T.coerceIn(range: ClosedRange<T>): T
fun Int.coerceIn(range: ClosedRange<Int>): Int
fun Long.coerceIn(range: ClosedRange<Long>): Long

Гарантирует, что это значение находится в указанном диапазоне.

fun UInt.coerceIn(range: ClosedRange<UInt>): UInt
fun ULong.coerceIn(range: ClosedRange<ULong>): ULong

Гарантирует, что это значение находится в указанном диапазоне.

fun <T : Comparable<T>> T.coerceIn(minimumValue: T?, maximumValue: T?): T
fun Byte.coerceIn(minimumValue: Byte, maximumValue: Byte): Byte
fun Double.coerceIn(minimumValue: Double, maximumValue: Double): Double
fun Float.coerceIn(minimumValue: Float, maximumValue: Float): Float
fun Int.coerceIn(minimumValue: Int, maximumValue: Int): Int
fun Long.coerceIn(minimumValue: Long, maximumValue: Long): Long
fun Short.coerceIn(minimumValue: Short, maximumValue: Short): Short

Гарантирует, что это значение находится в указанном диапазоне от minimumValue до maximumValue.

fun UByte.coerceIn(minimumValue: UByte, maximumValue: UByte): UByte
fun UInt.coerceIn(minimumValue: UInt, maximumValue: UInt): UInt
fun ULong.coerceIn(minimumValue: ULong, maximumValue: ULong): ULong
fun UShort.coerceIn(minimumValue: UShort, maximumValue: UShort): UShort

Гарантирует, что это значение находится в указанном диапазоне от minimumValue до maximumValue.

contains

Начиная с Kotlin: 1.3

inline operator fun <T : Any, R : ClosedRange<T>, Iterable<T>> R.contains(element: T?): Boolean

Возвращает true, если этот итерируемый диапазон содержит указанный элемент.

inline operator fun <T : Comparable<T>, R : ClosedRange<T>, Iterable<T>> R.contains(element: T?): Boolean
inline operator fun <T : Comparable<T>, R : OpenEndRange<T>, Iterable<T>> R.contains(element: T?): Boolean

Возвращает true, если этот итерируемый диапазон содержит указанный элемент.

inline operator fun <T : Any, R : OpenEndRange<T>, Iterable<T>> R.contains(element: T?): Boolean

Возвращает true, если этот итерируемый диапазон содержит указанный элемент.

inline operator fun CharRange.contains(element: Char?): Boolean
inline operator fun IntRange.contains(element: Int?): Boolean
inline operator fun LongRange.contains(element: Long?): Boolean

Возвращает true, если этот диапазон содержит указанный элемент.

@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Double): Boolean
@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Float): Boolean
@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Int): Boolean
@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Long): Boolean
@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Short): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Byte): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Float): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Int): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Long): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Short): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Byte): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Double): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Int): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Long): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Short): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Byte): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Double): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Float): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Long): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Short): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Byte): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Double): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Float): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Int): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Short): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Byte): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Double): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Float): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Int): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Long): Boolean
inline operator fun IntRange.contains(value: Byte): Boolean
inline operator fun IntRange.contains(value: Long): Boolean
inline operator fun IntRange.contains(value: Short): Boolean
inline operator fun LongRange.contains(value: Byte): Boolean
inline operator fun LongRange.contains(value: Int): Boolean
inline operator fun LongRange.contains(value: Short): Boolean

Проверяет, принадлежит ли указанный value этому диапазону.

@JvmName(name = "byteRangeContains")
operator fun OpenEndRange<Byte>.contains(value: Int): Boolean
@JvmName(name = "byteRangeContains")
operator fun OpenEndRange<Byte>.contains(value: Long): Boolean
@JvmName(name = "byteRangeContains")
operator fun OpenEndRange<Byte>.contains(value: Short): Boolean
@JvmName(name = "doubleRangeContains")
operator fun OpenEndRange<Double>.contains(value: Float): Boolean
@JvmName(name = "intRangeContains")
operator fun OpenEndRange<Int>.contains(value: Byte): Boolean
@JvmName(name = "intRangeContains")
operator fun OpenEndRange<Int>.contains(value: Long): Boolean
@JvmName(name = "intRangeContains")
operator fun OpenEndRange<Int>.contains(value: Short): Boolean
@JvmName(name = "longRangeContains")
operator fun OpenEndRange<Long>.contains(value: Byte): Boolean
@JvmName(name = "longRangeContains")
operator fun OpenEndRange<Long>.contains(value: Int): Boolean
@JvmName(name = "longRangeContains")
operator fun OpenEndRange<Long>.contains(value: Short): Boolean
@JvmName(name = "shortRangeContains")
operator fun OpenEndRange<Short>.contains(value: Byte): Boolean
@JvmName(name = "shortRangeContains")
operator fun OpenEndRange<Short>.contains(value: Int): Boolean
@JvmName(name = "shortRangeContains")
operator fun OpenEndRange<Short>.contains(value: Long): Boolean

Проверяет, принадлежит ли указанный value этому диапазону.

operator fun UIntRange.contains(value: UByte): Boolean
operator fun UIntRange.contains(value: ULong): Boolean
operator fun UIntRange.contains(value: UShort): Boolean
operator fun ULongRange.contains(value: UByte): Boolean
operator fun ULongRange.contains(value: UInt): Boolean
operator fun ULongRange.contains(value: UShort): Boolean

Проверяет, принадлежит ли указанный value этому диапазону.

inline operator fun UIntRange.contains(element: UInt?): Boolean
inline operator fun ULongRange.contains(element: ULong?): Boolean

Возвращает true, если этот диапазон содержит указанный элемент.

downTo

Начиная с Kotlin: 1.0

infix fun Byte.downTo(to: Byte): IntProgression
infix fun Byte.downTo(to: Int): IntProgression
infix fun Byte.downTo(to: Long): LongProgression
infix fun Byte.downTo(to: Short): IntProgression
infix fun Char.downTo(to: Char): CharProgression
infix fun Int.downTo(to: Byte): IntProgression
infix fun Int.downTo(to: Int): IntProgression
infix fun Int.downTo(to: Long): LongProgression
infix fun Int.downTo(to: Short): IntProgression
infix fun Long.downTo(to: Byte): LongProgression
infix fun Long.downTo(to: Int): LongProgression
infix fun Long.downTo(to: Long): LongProgression
infix fun Long.downTo(to: Short): LongProgression
infix fun Short.downTo(to: Byte): IntProgression
infix fun Short.downTo(to: Int): IntProgression
infix fun Short.downTo(to: Long): LongProgression
infix fun Short.downTo(to: Short): IntProgression

Возвращает прогрессию от этого значения вниз до указанного значения to включительно с шагом -1.

infix fun UByte.downTo(to: UByte): UIntProgression
infix fun UInt.downTo(to: UInt): UIntProgression
infix fun ULong.downTo(to: ULong): ULongProgression
infix fun UShort.downTo(to: UShort): UIntProgression

Возвращает прогрессию от этого значения вниз до указанного значения to включительно с шагом -1.

first

Начиная с Kotlin: 1.7

fun CharProgression.first(): Char
fun IntProgression.first(): Int
fun LongProgression.first(): Long
fun UIntProgression.first(): UInt
fun ULongProgression.first(): ULong

Возвращает первый элемент.

firstOrNull

Начиная с Kotlin: 1.7

fun CharProgression.firstOrNull(): Char?
fun IntProgression.firstOrNull(): Int?
fun LongProgression.firstOrNull(): Long?
fun UIntProgression.firstOrNull(): UInt?
fun ULongProgression.firstOrNull(): ULong?

Возвращает первый элемент или null, если прогрессия пуста.

last

Начиная с Kotlin: 1.7

fun CharProgression.last(): Char
fun IntProgression.last(): Int
fun LongProgression.last(): Long
fun UIntProgression.last(): UInt
fun ULongProgression.last(): ULong

Возвращает последний элемент.

lastOrNull

Начиная с Kotlin: 1.7

fun CharProgression.lastOrNull(): Char?
fun IntProgression.lastOrNull(): Int?
fun LongProgression.lastOrNull(): Long?
fun UIntProgression.lastOrNull(): UInt?
fun ULongProgression.lastOrNull(): ULong?

Возвращает последний элемент или null, если прогрессия пуста.

random

Начиная с Kotlin: 1.3

inline fun CharRange.random(): Char
inline fun IntRange.random(): Int
inline fun LongRange.random(): Long

Возвращает случайный элемент из этого диапазона.

inline fun UIntRange.random(): UInt
inline fun ULongRange.random(): ULong

Возвращает случайный элемент из этого диапазона.

fun CharRange.random(random: Random): Char
fun IntRange.random(random: Random): Int
fun LongRange.random(random: Random): Long

Возвращает случайный элемент из этого диапазона, используя указанный источник случайных чисел.

fun UIntRange.random(random: Random): UInt
fun ULongRange.random(random: Random): ULong

Возвращает случайный элемент из этого диапазона, используя указанный источник случайных чисел.

randomOrNull

Начиная с Kotlin: 1.4

inline fun CharRange.randomOrNull(): Char?
inline fun IntRange.randomOrNull(): Int?
inline fun LongRange.randomOrNull(): Long?

Возвращает случайный элемент из этого диапазона или null, если диапазон пуст.

inline fun UIntRange.randomOrNull(): UInt?
inline fun ULongRange.randomOrNull(): ULong?

Возвращает случайный элемент из этого диапазона или null, если диапазон пуст.

fun CharRange.randomOrNull(random: Random): Char?
fun IntRange.randomOrNull(random: Random): Int?
fun LongRange.randomOrNull(random: Random): Long?

Возвращает случайный элемент из этого диапазона, используя указанный источник случайных чисел, или null, если диапазон пуст.

fun UIntRange.randomOrNull(random: Random): UInt?
fun ULongRange.randomOrNull(random: Random): ULong?

Возвращает случайный элемент из этого диапазона, используя указанный источник случайных чисел, или null, если диапазон пуст.

rangeTo

Начиная с Kotlin: 1.0

operator fun <T : Comparable<T>> T.rangeTo(that: T): ClosedRange<T>

Создает диапазон от этого значения типа Comparable до указанного значения that.

operator fun Double.rangeTo(that: Double): ClosedFloatingPointRange<Double>

Создает диапазон от этого значения типа Double до указанного значения that.

operator fun Float.rangeTo(that: Float): ClosedFloatingPointRange<Float>

Создает диапазон от этого значения типа Float до указанного значения that.

rangeUntil

Начиная с Kotlin: 1.9

operator fun <T : Comparable<T>> T.rangeUntil(that: T): OpenEndRange<T>

Создает диапазон с открытым концом от этого значения типа Comparable до указанного значения that.

operator fun Double.rangeUntil(that: Double): OpenEndRange<Double>

Создает диапазон с открытым концом от этого значения типа Double до указанного значения that.

operator fun Float.rangeUntil(that: Float): OpenEndRange<Float>

Создает диапазон с открытым концом от этого значения типа Float до указанного значения that.

reversed

Начиная с Kotlin: 1.0

fun CharProgression.reversed(): CharProgression
fun IntProgression.reversed(): IntProgression
fun LongProgression.reversed(): LongProgression

Возвращает прогрессию, проходящую по тому же диапазону в обратном направлении с тем же шагом.

fun UIntProgression.reversed(): UIntProgression
fun ULongProgression.reversed(): ULongProgression

Возвращает прогрессию, проходящую по тому же диапазону в обратном направлении с тем же шагом.

step

Начиная с Kotlin: 1.0

infix fun CharProgression.step(step: Int): CharProgression
infix fun IntProgression.step(step: Int): IntProgression
infix fun LongProgression.step(step: Long): LongProgression

Возвращает прогрессию, проходящую по тому же диапазону с указанным шагом.

infix fun UIntProgression.step(step: Int): UIntProgression
infix fun ULongProgression.step(step: Long): ULongProgression

Возвращает прогрессию, проходящую по тому же диапазону с указанным шагом.

until

Начиная с Kotlin: 1.0

infix fun Byte.until(to: Byte): IntRange
infix fun Byte.until(to: Int): IntRange
infix fun Byte.until(to: Long): LongRange
infix fun Byte.until(to: Short): IntRange
infix fun Char.until(to: Char): CharRange
infix fun Int.until(to: Byte): IntRange
infix fun Int.until(to: Int): IntRange
infix fun Int.until(to: Long): LongRange
infix fun Int.until(to: Short): IntRange
infix fun Long.until(to: Byte): LongRange
infix fun Long.until(to: Int): LongRange
infix fun Long.until(to: Long): LongRange
infix fun Long.until(to: Short): LongRange
infix fun Short.until(to: Byte): IntRange
infix fun Short.until(to: Int): IntRange
infix fun Short.until(to: Long): LongRange
infix fun Short.until(to: Short): IntRange

Возвращает диапазон от этого значения до указанного значения to, не включая его.

infix fun UByte.until(to: UByte): UIntRange
infix fun UInt.until(to: UInt): UIntRange
infix fun ULong.until(to: ULong): ULongRange
infix fun UShort.until(to: UShort): UIntRange

Возвращает диапазон от этого значения до указанного значения to, не включая его.

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.ranges/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API