본문 바로가기

코틀린/[Extraction] 추출 작업12

[Kotlin][Collection] subList 지정된 fromIndex(포함)와 toIndex(제외) 사이의 이 목록 부분에 대한 뷰를 반환합니다. 반환된 목록은 이 목록에 의해 백업되므로 반환된 목록의 비구조적 변경 사항은 이 목록에 반영되고 그 반대의 경우도 마찬가지입니다. 기본 목록의 구조적 변경 사항은 뷰의 동작을 정의되지 않게 만듭니다.public actual fun subList(fromIndex: Int, toIndex: Int): Listval numbers = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)val subList = numbers.subList(2, 6)println(numbers) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]println(subList) // [3,.. 2024. 12. 2.
[Kotlin][String] indexOf 지정된 startIndex 부터 시작하여 지정된 문자열이 처음 나타나는 이 문자 시퀀스 내의 인덱스를 반환합니다.public fun CharSequence.indexOf(string: String, startIndex: Int = 0, ignoreCase: Boolean = false): Int { return if (ignoreCase || this !is String) indexOf(string, startIndex, length, ignoreCase) else nativeIndexOf(string, startIndex)}fun matchDetails(inputString: String, whatToFind: String, startIndex: Int = 0): S.. 2024. 9. 10.
[Kotlin][Array] copyOfRange 원래 배열의 지정된 범위의 복사본인 새 배열을 반환합니다.public actual inline fun Array.copyOfRange(fromIndex: Int, toIndex: Int): Array { return if (kotlin.internal.apiVersionIsAtLeast(1, 3, 0)) { copyOfRangeImpl(fromIndex, toIndex) } else { if (toIndex > size) throw IndexOutOfBoundsException("toIndex: $toIndex, size: $size") java.util.Arrays.copyOfRange(this, fromIndex, toIndex) }}val ar.. 2024. 9. 6.
[Kotlin][Array] sliceArray 지정된 인덱스 범위의 인덱스에 있는 요소를 포함하는 배열을 반환합니다.public fun Array.sliceArray(indices: IntRange): Array { if (indices.isEmpty()) return copyOfRange(0, 0) return copyOfRange(indices.start, indices.endInclusive + 1)}public actual inline fun Array.copyOfRange(fromIndex: Int, toIndex: Int): Array { return if (kotlin.internal.apiVersionIsAtLeast(1, 3, 0)) { copyOfRangeImpl(fromIndex, toIndex) .. 2024. 9. 6.
[Kotlin][Char] code 이 Char의 코드를 반환합니다. Char의 코드는 생성된 값이며 이 Char에 해당하는 UTF-16 코드 단위입니다.public inline val Char.code: Int get() = this.toInt()val string = "0Azβ"println(string.map { it.code }) // [48, 65, 122, 946]val char = '1'val int = char.code - '0'.codeprintln(int) // 1 code - Kotlin Programming Language kotlinlang.org 2024. 9. 3.
[Kotlin][Collection] ifEmpty 비어 있지 않으면 이 배열을 반환하고, 배열이 비어 있으면 defaultValue 함수를 호출한 결과를 반환합니다.public inline fun C.ifEmpty(defaultValue: () -> R): R where C : Array, C : R { contract { callsInPlace(defaultValue, InvocationKind.AT_MOST_ONCE) } return if (isEmpty()) defaultValue() else this}val emptyArray: Array = emptyArray()val emptyOrNull: Array? = emptyArray.ifEmpty { null }println(emptyOrNull) // nullval e.. 2024. 8. 30.
[Kotlin][Iterable] chunked 이 컬렉션을 각각 주어진 크기를 초과하지 않는 목록의 목록으로 분할합니다. 결과 목록의 마지막 목록에는 지정된 크기보다 적은 수의 요소가 있을 수 있습니다.public fun Iterable.chunked(size: Int): List> { return windowed(size, size, partialWindows = true)}public fun CharSequence.windowed(size: Int, step: Int = 1, partialWindows: Boolean = false, transform: (CharSequence) -> R): List { checkWindowSizeStep(size, step) val thisSize = this.length val res.. 2024. 8. 29.