Kotlin 数组及常用方法
1. kotlin 创建数组
val arr1 = arrayOf(1, 2, 3)
val arr2 = arrayOf("1", "2", "3")
val arr3 = arrayOfNulls<Int>(3)
val emptyArr = emptyArray<String>()
val arrInt = intArrayOf(1, 2, 3)
val arrByte = byteArrayOf(1, 2, 3)
val arrInt2 = IntArray(3) { it * it }
2. kotlin 读取数组
println(arr1[1])
println(arr2.get(0))
arrInt[0] = -1
arrInt.set(0, -1)
3. kotlin 遍历数组
val arrByte = byteArrayOf(1, 2, 3)
for (item in arrByte) {
print(item)
}
for (index in arrByte.indices) {
print(arrByte[index])
}
for ((index, value) in arrByte.withIndex()) {
print("index: $index, value: $value, ")
}
4. kotlin 数组常用方法
val list = arrInt.asList()
val map1 = arr1.associate { Pair("key$it", it) }
val map2 = arr1.associateBy { "key$it" }
val map3 = arr1.associateTo(hashMapOf()) { Pair("key$it", it) }
val map4 = arr1.associateByTo(hashMapOf()) { "key$it" }
val average = arr1.average()
val max = arr1.maxOrNull()
val min = arr1.minOrNull()
println("max: $max, min: $min")
println(arr1.contentToString())
val result = arr1.contains(1)
val arrString = arrayOf("1", "1", "2")
val unique = arrString.distinct()
val copy = arr1.copyOf(4)
println(copy.contentToString())
val arr4 = intArrayOf(3, 1, 2, 5)
arr4.sort()
println(arr4.contentToString())
val index = arr1.indexOf(1)
println(index)
5. kotlin 多维数组
val multiArr = Array<IntArray>(3) { intArrayOf(1, 2) }
multiArr.forEach { intArr ->
println(intArr.contentToString())
intArr.forEach { it ->
println(it)
}
}