Kotlin的数组和集合

2019-04-29  本文已影响0人  心随你咚
  1. 数组
    数组在 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 并没有继承关系,但是它们有同样的方法属性集。

  1. 集合
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]
上一篇下一篇

猜你喜欢

热点阅读