以下是一些常见的用法示例:
- plus() 函数将两个数组合并成一个数组。plus() 函数是 Kotlin 标准库中的一个扩展函数,可以用于合并两个同类型的数组。
fun main() { val array1 = arrayOf(1, 2, 3) val array2 = arrayOf(4, 5, 6) val mergedArray = array1.plus(array2) println(mergedArray.contentToString()) // 输出 [1, 2, 3, 4, 5, 6] }
- 使用 minus() 函数从数组中移除指定元素,并返回新的数组
val array = arrayOf(1, 2, 3, 4, 5)
val newArray = array.minus(3) // 移除元素 3
println(newArray.contentToString()) // 输出 [1, 2, 4, 5]
val array = arrayOf(1, 2, 3, 4, 5)
val slicedArray = array.slice(1..3) // 获取索引为 1 到 3 的元素
println(slicedArray.contentToString()) // 输出 [2, 3, 4]
val array = arrayOf(1, 2, 3, 4, 5)
val chunkedList = array.chunked(2) // 将数组分成大小为 2 的块
println(chunkedList) // 输出 [[1, 2], [3, 4], [5]]
val array = arrayOf(1, 2, 2, 3, 3, 4, 5)
val distinctArray = array.distinct() // 获取不同的元素
println(distinctArray.contentToString()) // 输出 [1, 2, 3, 4, 5]
find():用于在数组中查找符合指定条件的元素,并返回该元素
val numbers = listOf(1, 2, 3, 4, 5)
val result = numbers.find { it % 2 == 0 }
println(result) // 输出:2
fun main() {
val array = arrayOf("Hello", "World")
val result = array.joinToString()
println(result) // 输出 "HelloWorld"
}
fun String.toUpperCase(): String {
return this.toUpperCase()
}
val strings = listOf("apple", "banana", "cherry")
// 使用自定义的 toUpperCase() 函数将字符串转换为大写
val upperCaseStrings = strings.map { it.toUpperCase() }
println(upperCaseStrings) // 输出 [APPLE, BANANA, CHERRY]
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
// 使用 sum() 函数计算所有数字的总和
val sum = numbers.sum()
println("Sum of numbers: $sum") // 输出 "Sum of numbers: 15"
}
- first():返回第一个元素
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
// 使用 first() 函数获取第一个数字
val firstNumber = numbers.first()
println("First number: $firstNumber") // 输出 "First number: 1"
}
- last():返回最后一个元素
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
// 使用 last() 函数获取最后一个数字
val lastNumber = numbers.last()
println("Last number: $lastNumber") // 输出 "Last number: 5"
}
- firstOrNull():返回第一个元素,如果数组为空则返回null
- lastOrNull():返回最后一个元素,如果数组为空则返回null
- getOrNull():根据下标获取元素,如果下标越界则返回null
val map = mapOf("apple" to 1, "banana" to 2, "orange" to 3)
// 获取键为 "apple" 的值,如果不存在则返回 null
val appleValue = map.getOrNull("apple")
println("Apple value: $appleValue") // 输出 "Apple value: 1"
// 获取键为 "grape" 的值,如果不存在则返回 null
val grapeValue = map.getOrNull("grape")
println("Grape value: $grapeValue") // 输出 "Grape value: null"
- take():获取前n个元素
-
fun main() { val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) // 使用 take() 函数获取前三个数字 val result = numbers.take(3) // 遍历并打印结果 for (num in result) { println(num) } } 我们使用循环遍历并打印结果。输出将为: 1 2 3
- takeLast():获取后n个元素
-
fun main() { val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) // 使用 takeLast() 函数获取最后三个数字 val result = numbers.takeLast(3) // 遍历并打印结果 for (num in result) { println(num) } } 输出将为: 7 8 9
- drop():去除前n个元素
-
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) // 使用 drop() 函数删除前三个数字 val result = numbers.drop(3) // 打印删除元素后的新序列 println(result) // 输出 [4, 5, 6, 7, 8, 9, 10]
- dropLast():去除后n个元素
-
var numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, // 使用 dropLast() 函数删除最后三个数字并将结果分配回原始列表 numbers = numbers.dropLast(3) // 打印修改后的原始列表 println(numbers) // 输出 [1, 2, 3, 4, 5, 6, 7]
- filter():根据条件筛选元素
-
fun main() { val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) // 使用 filter() 函数筛选出偶数并打印 val evenNumbers = numbers.filter { it % 2 == 0 } println(evenNumbers) // 输出:[2, 4, 6, 8, 10] }
- map():对每个元素执行指定操作
-
fun main() { // 创建一个包含字符串的列表 val strings = listOf("apple", "banana", "orange") // 使用 map() 函数将字符串转换为它们的长度,并打印结果 val lengths = strings.map { it.length } println(lengths) // 输出:[6, 6, 5] }
- flatMap():对每个元素执行指定操作,并将结果合并到一个列表中
-
fun main() { val listOfLists = listOf(listOf(1, 2, 3), listOf(4, 5, 6), listOf(7, 8, 9)) val flattenedList = listOfLists.flatMap { it } println(flattenedList) // 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9] }
- distinct():去除重复元素
fun main() { val numbers = listOf(1, 2, 2, 3, 4, 4, 5) val uniqueNumbers = numbers.distinct() println(uniqueNumbers) // 输出了 [1, 2, 3, 4, 5] }
distinctBy():根据指定条件去除重复元素
fun main() {
val items = listOf("apple", "banana", "cherry", "date", "elderberry")
val distinctItems = items.distinctBy { it.length }
println(distinctItems) // 输出了 [apple, banana, cherry, date]
}
- contains():判断数组是否包含指定元素
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
val containsThree = numbers.contains(3)
println(containsThree) // 输出:true
}
- indexOf():获取指定元素的下标,如果不存在则返回-1
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
val index = numbers.indexOf(3)
println("The index of 3 is: $index") // 输出:The index of 3 is: 2
}
我们打印出结果,显示数字 3 在列表中的位置。请注意,indexOf() 函数返回的是该元素在列表中的位置,索引从 0 开始。
- lastIndexOf():获取指定元素的最后一个下标,如果不存在则返回-1
fun main() { val numbers = listOf(1, 2, 3, 4, 5, 3) val lastIndex = numbers.lastIndexOf(3) println("The last index of 3 is: $lastIndex") // 输出:The last index of 3 is: 5 }
- partition():根据条件分成两个数组
-
fun main() { val numbers = listOf(1, 2, 3, 4, 5) val (evenNumbers, oddNumbers) = numbers.partition { it % 2 == 0 } println("Even numbers: $evenNumbers") // 输出:[2, 4] println("Odd numbers: $oddNumbers") // 输出:[1, 3, 5] }
- groupBy():根据条件将元素分组到不同的数组中
-
fun main() { val items = listOf("apple", "banana", "cherry", "date", "elderberry") val itemGroups = items.groupBy { it.length } for ((key, value) in itemGroups) { println("Items with length $key: $value") } } 答案输出: Items with length 5: [apple] Items with length 6: [banana, cherry] Items with length 4: [date] Items with length 10: [elderberry]
- sum():计算元素的总和
fun main() { val numbers = listOf(1, 2, 3, 4, 5) val sum = numbers.sum() println("The sum of the numbers is: $sum") // 输出:The sum of the numbers is: 15 }
- average():计算元素的平均值
fun main() { val numbers = listOf(1, 2, 3, 4, 5) val average = numbers.average() println("The average of the numbers is: $average") // 输出:The average of the numbers is: 3.0 }
- max():获取最大元素
-
fun main() { val numbers = listOf(1, 2, 3, 4, 5) val maxNumber = numbers.max() println("The maximum number is: $maxNumber") // 输出:The maximum number is: 5 }
- min():获取最小元素
- reduce():对元素进行累加
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
val result = numbers.reduce { acc, num -> acc + num }
println("The sum of the numbers is: $result") // 输出:The sum of the numbers is: 15
}
- fold():对元素进行累加,并可以指定初始值
-
fun main() { val numbers = listOf(1, 2, 3, 4, 5) val result = numbers.fold(0) { acc, num -> acc + num } println("The sum of the numbers is: $result") // 输出:The sum of the numbers is: 15 }
- forEach():遍历元素并执行指定操作
fun main() { val numbers = listOf(1, 2, 3, 4, 5) numbers.forEach { println(it) } } 将会输出以下内容: 1 2 3 4 5
- forEachIndexed():遍历元素并获取索引,执行指定操作
fun main() { val numbers = listOf(1, 2, 3, 4, 5) numbers.forEachIndexed { index, num -> println("Index $index: $num") } } 将会输出以下内容: Index 0: 1 Index 1: 2 Index 2: 3 Index 3: 4 Index 4: 5
- zip():将两个数组合并成一个新数组,每个元素都是一对。
fun main() { val list1 = listOf("a", "b", "c") val list2 = listOf(1, 2, 3) val zippedList = list1.zip(list2) { a, b -> Pair(a, b) } zippedList.forEach { println(it) } } 将会输出以下内容: 复制代码 Pair(a, 1) Pair(b, 2) Pair(c, 3)
- all():判断所有元素是否都满足指定条件
fun main() { val numbers = listOf(1, 2, 3, 4, 5) val allPositive = numbers.all { it > 0 } println("All numbers are positive: $allPositive") // 输出:All numbers are positive: true }
- any():判断是否有任何元素满足指定条件
fun main() { val numbers = listOf(1, 2, -3, 4, 5) val hasNegative = numbers.any { it < 0 } println("Numbers have negative value: $hasNegative") // 输出:Numbers have negative value: true }
- none():判断是否所有元素都不满足指定条件
fun main() { val numbers = listOf(1, 2, 3, 4, 5) val hasNegative = numbers.none { it < 0 } println("Numbers have no negative value: $hasNegative") // 输出:Numbers have no negative value: true }
- associate():将每个元素转化为Pair对象,并返回一个Map
fun main() { val numbers = listOf(1, 2, 3, 4, 5) val associatedMap = numbers.associate { it to it } println("Associated map: $associatedMap") } 输出 Associated map: {1=1, 2=2, 3=3, 4=4, 5=5}
- associateBy():根据指定条件生成key,并将元素转化为value,返回一个Map
fun main() { val people = listOf("David", "Bob", "Charlie", "Alice") val associatedMap = people.associateBy { it.length } println("Associated map: $associatedMap") } Associated map: {5=Alice, 3=Bob, 7=Charlie}
- associateWith():将每个元素转化为key,并根据指定条件生成value,返回一个Map
-
val people = listOf("Alice", "Bob", "Charlie", "David") val associatedMap = people.associateWith { it.length } println("Associated map: $associatedMap") Associated map: {Alice=5, Bob=3, Charlie=7, David=5}
- flatMapTo():将每个元素执行指定操作,并将结果合并到一个指定类型的列表中
-
val numbers = listOf(1, 2, 3, 4, 5) val flattened = numbers.flatMapTo(HashSet<Int>()) { setOf(it * 2) } println("Flattened list: $flattened")
- mapTo():将每个元素执行指定操作,并将结果合并到一个指定类型的列表中
-
val numbers = listOf(1, 2, 3, 4, 5) val squaredNumbers = numbers.mapTo(ArrayList<Int>()) { it * it } println("Squared numbers: $squaredNumbers") 输出结果:Squared numbers: [1, 4, 9, 16, 25]
- reduceIndexed():对元素进行累加,并可以访问索引
val numbers = listOf(1, 2, 3, 4, 5) val result = numbers.reduceIndexed { index, acc, value -> if (index % 2 == 0) { acc + value } else { acc - value } } println("Result: $result") 输出结果将会是: Result: 3
- foldIndexed():对元素进行累加,并可以访问索引,并可以指定初始值
val numbers = listOf(1, 2, 3, 4, 5) val result = numbers.foldIndexed(0) { index, acc, value -> if (index % 2 == 0) { acc + value } else { acc - value } } println("Result: $result") 输出结果将会是:Result: 3
原文地址:https://blog.csdn.net/u010207898/article/details/134573917
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_2733.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。