Kotlin的数组和集合
2019-04-29 本文已影响0人
心随你咚
- 数组
数组在 Kotlin 中使用Array 类来表示,它定义了 get 与 set 函数(按照运算符重载约定这会转变为 [] )以及 size 属性,以及一些其他有用的成员函数:
class Array<T> private constructor() {
val size: Intoperator fun get(index: Int): T
operator fun set(index: Int, value: T): Unit
operator fun iterator(): Iterator<T>
// …
}
我们来看定义一个Int有几种方法:
fun main() {
val asc1 = arrayOf(1, 2, 4)
val asc2 = arrayOfNulls<Int>(3)
asc2[0] = 1
asc2[1] = 2
asc2[2] = 4
val asc3 = Array(3){ i -> i + 1 }
val asc4 = intArrayOf(1, 2, 4)
val asc5 = IntArray(1){ i -> i + 1}
}
是不是眼花缭乱。其中库函数 arrayOfNulls() 可以用于创建一个指定大小的、所有元素都为空的数组。Kotlin 也有无装箱开销的专六的类来表示原生类型数组: ByteArray 、ShortArray 、IntArray等等。这些类与 Array 并没有继承关系,但是它们有同样的方法属性集。
- 集合
fun main() {
var mutableMap = mutableMapOf<Int, String>()
mutableMap[1] = "a"
mutableMap[0] = "b"
mutableMap[1] = "c"
println(mutableMap)
var mutableList = mutableListOf<Int>()
mutableList.add(1)
mutableList.add(0)
mutableList.add(1)
println(mutableList)
var mutableSet = mutableSetOf<Int>()
mutableSet.add(1)
mutableSet.add(0)
mutableSet.add(1)
println(mutableSet)
}
输出结果
{1=c, 0=b}
[1, 0, 1]
[1, 0]