Kotlin147 [Kotlin][Collection] maxOrNull / minOrNull 가장 큰 요소를 반환하거나 요소가 없으면 null 을 반환합니다. 요소 중 하나라도 NaN 이면 NaN 을 반환합니다.public fun > Iterable.maxOrNull(): T? { val iterator = iterator() if (!iterator.hasNext()) return null var max = iterator.next() while (iterator.hasNext()) { val e = iterator.next() if (max = listOf(1, 2, 3, 4, 5, 6, 7)print(numbers.maxOrNull() ?: -1) // 7 가장 작은 요소를 반환하거나 요소가 없으면 null 을 반환합니다. 요소 중 하나라도 .. 2024. 8. 9. [Kotlin][Collection] forEach / forEachIndexed 각 요소에 대해 지정된 작업을 수행합니다.public inline fun Iterator.forEach(operation: (T) -> Unit): Unit { for (element in this) operation(element)}val list = listOf(1, 2, 3, 4)list.forEach { num -> print(num) } // 1234 각 요소에 대해 지정된 작업을 수행하여 요소에 순차적 인덱스를 제공합니다.public inline fun Iterable.forEachIndexed(action: (index: Int, T) -> Unit): Unit { var index = 0 for (item in this) action(checkIndexOverflow(i.. 2024. 8. 9. [Android] App Manifest AndroidManifest.xml모든 앱 프로젝트는 프로젝트 소스 세트의 루트에 AndroidManifest.xml 파일(정확히 이 이름이어야 함)이 있어야 한다.Android 빌드 도구, Android 운영체제 및 Google Play 에 앱에 관한 필수 정보를 설명한다.매니페스트 파일은 다른 여러 가지도 설명하지만 특히 다음과 같은 내용을 선언해야 한다.각 구성 요소는 Kotlin 또는 Java 클래스의 이름과 같은 기본 속성을 정의해야 한다. 또한, 각 구성 요소가 처리할 수 있는 기기 구성의 종류를 명시하고, 구성 요소가 어떻게 시작되는지를 설명하는 인텐트 필터와 같은 기능을 선언할 수도 있다.앱이 시스템이나 다른 앱의 보호된 부분에 접근하기 위해 필요한 권한을 명시해야 한다. 또한, 다른 앱이.. 2024. 8. 8. [Kotlin][Collection] fold / foldIndexed 초기값부터 시작하여 현재 누산기 값과 각 요소에 왼쪽에서 오른쪽으로 연산을 적용하여 값을 누적합니다. 배열이 비어 있으면 지정된 초기 값을 반환합니다.public inline fun Iterable.fold(initial: R, operation: (acc: R, T) -> R): R { var accumulator = initial for (element in this) accumulator = operation(accumulator, element) return accumulator}val strings = listOf("b", "c", "d")println(strings.fold("a") { acc, string -> acc + string }) // abcd 초기 값부터 시작하여.. 2024. 8. 8. [Kotlin][Collection] all / any / none 모든 요소가 주어진 조건을 만족하면 true 를 반환합니다.배열에 요소가 하나도 없을 경우, 해당 요소가 조건을 만족하지 않는 것이 없으므로 true 를 반환합니다.public inline fun Iterable.all(predicate: (T) -> Boolean): Boolean { if (this is Collection && isEmpty()) return true for (element in this) if (!predicate(element)) return false return true}val isEven: (Int) -> Boolean = { it % 2 == 0 }val zeroToTen = 0..10println(zeroToTen.all { isEven(it) }) /.. 2024. 8. 8. [Kotlin][Collection] Mutable / Immutable 컬렉션은 읽기 전용일 수 있으므로 더 많은 제어 기능을 제공하고 명확한 의도가 있는 강력한 코드를 작성할 수 있습니다.컬렉션에 요소를 추가하거나 제거하는 것은 쉽습니다. 이에 비해 배열은 크기가 고정되어 있습니다.배열에서 요소를 추가하거나 제거하는 유일한 방법은 매번 새 배열을 만드는 것인데 이는 매우 비효율적입니다.var riversArray = arrayOf("Nile", "Amazon", "Yangtze")riversArray += "Mississippi"println(riversArray.joinToString()) // Nile, Amazon, Yangtze, MississippitoMutableList이 배열의 모든 요소로 채워진 새로운 MutableList를 반환합니다.public fun .. 2024. 8. 7. [Kotlin][Collection] flatMap 원래 배열의 각 요소에 대해 호출된 변환 함수의 결과에서 생성된 모든 요소의 단일 목록을 반환합니다.public inline fun Iterable.flatMap(transform: (T) -> Iterable): List { return flatMapTo(ArrayList(), transform)}public inline fun > Iterable.flatMapTo(destination: C, transform: (T) -> Iterable): C { for (element in this) { val list = transform(element) destination.addAll(list) } return destination}val list = list.. 2024. 8. 6. 이전 1 ··· 17 18 19 20 21 다음