본문 바로가기

코틀린74

[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.
[Algorithm][Kotlin] LRU 알고리즘 캐시자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 저장소로, 리소스에 대한 중복 요청을 막거나 바뀌지 않는 데이터를 새로 불러오는 비용을 줄이기 위해 사용된다. [CS] 캐시 (Cache)캐시 (Cache)자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다.아래와 같은 경우에 사용을 고려하면 좋다.접근 시간에 비해 원래dev-baik.tistory.comLRU(Least Recently Used) 알고리즘가장 오랫동안 사용되지 않은 데이터를 제거하여 새로운 데이터를 저장하는 방식으로, 메모리 사용량을 효율적으로 관리할 수 있도록 도와준다.최근에 사용되지 않은 데이터는 앞으로도 사용될 가능성이 낮기 때문에, 데이터에 대한 접근 시간을 기록하.. 2024. 11. 10.
[Kotlin][Map] containsKey, containsValue 맵에 지정된 키가 포함되어 있으면 true 를 반환합니다. K 유형의 키를 전달해야 하는 containKey 의 유형 안전성 제한을 극복할 수 있습니다.val map: Map = mapOf("x" to 1, "y" to 2)print(map.containsKey("x")) // trueprint(map.containsKey("y")) // trueprint(map.containsKey("z")) // false 맵이 하나 이상의 키를 지정된 값에 매핑하는 경우 true 를 반환합니다. V 유형의 값을 전달해야 하는 containValue 의 유형 안전성 제한을 극복할 수 있습니다.val map: Map = mapOf("x" to 1, "y" to 2)// member containsValue is use.. 2024. 9. 10.
[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][Collection] getOrPut 값이 존재하고 null이 아닌 경우 지정된 키에 대한 값을 반환합니다. 그렇지 않으면 defaultValue 함수를 호출하고 해당 결과를 지정된 키 아래의 맵에 넣고 호출 결과를 반환합니다. 맵이 동시에 수정되는 경우 작업이 원자적으로 보장되지 않는다는 점에 유의하세요.public inline fun MutableMap.getOrPut(key: K, defaultValue: () -> V): V { val value = get(key) return if (value == null) { val answer = defaultValue() put(key, answer) answer } else { value }}val map = muta.. 2024. 9. 7.
[Kotlin][Bitwise Operator] shl, shr, ushr, and, or, xor, inv 이 값을 bitCount 비트 수만큼 왼쪽으로 이동합니다. bitCount 의 최하위 5개 비트만 이동 거리로 사용됩니다. 따라서 실제로 사용되는 변속 거리는 항상 0..31 범위에 있습니다.print(1 shl 3) // 8 이 값을 bitCount 비트 수만큼 오른쪽으로 이동하여 가장 왼쪽 비트를 부호 비트의 복사본으로 채웁니다. bitCount 의 최하위 5개 비트만 이동 거리로 사용됩니다. 따라서 실제로 사용되는 변속 거리는 항상 0..31 범위에 있습니다.print(9 shr 3) // 1 이 값을 bitCount 비트 수만큼 오른쪽으로 이동하여 가장 왼쪽 비트를 0으로 채웁니다. bitCount 의 최하위 5개 비트만 이동 거리로 사용됩니다. 따라서 실제로 사용되는 변속 거리는 항상 0..31.. 2024. 9. 7.
[Kotlin][Set] union, subtract, intersect (합집합, 차집합, 교집합) 두 컬렉션의 모든 개별 요소를 포함하는 세트를 반환합니다.public infix fun Iterable.union(other: Iterable): Set { val set = this.toMutableSet() set.addAll(other) return set}val set1 = setOf(1, 2, 3, 4)val set2 = setOf(2, 3, 4, 5)print(set1.union(set2)) // [1, 2, 3, 4, 5] 이 컬렉션에 포함되어 있고 지정된 컬렉션에 포함되지 않은 모든 요소를 포함하는 집합을 반환합니다.public infix fun Iterable.subtract(other: Iterable): Set { val set = this.toMutableS.. 2024. 9. 7.