美文网首页
kotlin入门(三) 数组

kotlin入门(三) 数组

作者: 阿闯学长 | 来源:发表于2018-11-09 18:00 被阅读13次

数组

Arrays

Kotlin 标准库提供了arrayOf()创建数组,所以一般后缀是arrayOf()的,都可以找到相应的数组类型,以下是常用的几种,还有很多可以看看官方API
确定类型数组
ByteArray, ShortArray, IntArray等等,它们跟Array没有继承关系,属于同一个系列,都有相同的方法和属性集。

//创建空数组,只读
val arrayEmpty = emptyArray<String>()
//创建指定长度的可空数组
val array1 = arrayOfNulls<Int>(5)
for (i in 0..4) {
    array1[i] = i
}
//创建指定长度数组
val array4 = Array(5, {0})
//普通数组
val array = arrayOf(1, 2, 3)
//字符串数组
val strings = arrayOf("cn", "fr", "it")
//int数组
val numbers = intArrayOf(10, 20, 30)
//运算数组
val operationArray = Array(10, { k -> k * k })
//空数组
val longArray = emptyArray<Long>()
//bean数组
val studentArray = Array<MyBean>(2)
studentArray[0] = MyBean("xiaoming")
//遍历数组
val array7 = Array(4, { i -> i * i })  //0,1,4,9,16
// 遍历数组元素
for (item in array7) {
    println(item)
}
// 遍历数组下标
for (item in array7.indices) {
    println(item)
}
// 迭代器遍历数组1
val it = array7.iterator()
for (item in it.iterator()) {
    println(item)
}
// 迭代器遍历数组2
val it1 = array7.iterator()
it1.forEach {
    println(it)
}
// forEach遍历数组
array7.forEach {
    println(it)
}
array.length 数组的长度
array.joinToString() 将数组拼接成String语句,括号里面传入的参数类型为String,代表中间以什么形式隔开,默认不传为,符号
array.slice() 将数组中的从某个开始位置到结束位置的数据取出来,返回类型为List<数据类型>,括号里面的接受参数为区间。
List

List是有序容器,通过listOf创建,不过创建出来好像是只读序列,读写数组需要用MutableList显式修饰

    var list = listOf<String>()
    var notNull = listOfNotNull("1", "2", "3")
    var nonNulls: List<String> = listOfNotNull<String>(null, "a", "b", "c")

    var intList: List<Int> = listOf(1, 2, 3)
    var emptyList: List<String> = emptyList<String>()
    var doubleList: ArrayList<Double> = arrayListOf(84.88, 100.25, 999.99)

    (nonNulls as java.util.ArrayList).addAll(arrayOf("x", "y"))
    /**
     * 读写数组需要用MutableList<T>显式修饰
     */
    var stringList:MutableList<String> = ArrayList()
    stringList.add("zhangsan")
    stringList.add("lisi")

    var beanList: MutableList<MyBean> = ArrayList()
    var myBean = MyBean()
    myBean.name = "zhangsan"
    myBean.age = 27
    beanList.add(myBean)
Map
var map = mapOf("a" to 1, "b" to 2, "c" to 3)
    var value = map["b"]

    var states: MutableMap<String, String> =
            mutableMapOf(
                    "AL" to "Alabama",
                    "AK" to "Alaska",
                    "AZ" to "Arizona")

    val myBean: java.util.HashMap<Int, MyBean> = hashMapOf(
            1 to MyBean("ZhangSan", 12, false),
            2 to MyBean("LiSi", 13, true))

    val linkedHashMap: java.util.LinkedHashMap<String, String> =
            linkedMapOf("red" to "#FF0000", "black" to "#000000", "white" to "#FFFFFF")

    val sortedMap: java.util.SortedMap<Int, String> = sortedMapOf(4 to "d",
            1 to "a", 3 to "c", 2 to "b")
Set
//int
    val intSet: Set<Int> = setOf(1, 21, 21, 2, 6, 3, 2) //1,21,2,6,3
    //hash
    val hashSet: java.util.HashSet<MyBean> = hashSetOf(
            MyBean("Zhang San",14, false),
            MyBean("Zhang San",14, false))
    //sort
    val sortedIntegers: java.util.TreeSet<Int> = sortedSetOf(11, 0, 9, 11, 9, 8)

相关文章

网友评论

      本文标题:kotlin入门(三) 数组

      本文链接:https://www.haomeiwen.com/subject/pugoxqtx.html