Android Kotlin 从入门到精通(二、集合)

Kotlin集合

List:是一个有序列表,可通过索引(下标)访问元素.元素可以在list中出现多次、元素可重复

Set:是元素唯一集合.一版来说set中元素的顺序并不重要、无序集合

Map:(字典)是一组键值对.键是唯一的,每个键都刚好映射到一个值,值可以重复.

        //列表的创建方式 ---可变列表
        val arrayString = mutableListOf<String>()
        arrayString.add("1")
        arrayString.add("2")
        arrayString.add(2,"2")//指定位置插入元素

        val arrayString2 = mutableListOf<String>("1","2","3")
        arrayString2.add("4")

        //列表的创建方式 ---不可变列表
        //必须指定元素类型,必须指定初始化数据
        val arrayInt = listOf<Int>(1,2,3)

        //字典集合创建方式---可变
        //字典是一组键值对 键是唯一的 每个键都刚好映射到一个值 值可以重复
        val mapString  = arrayMapOf<String,String>()
        val arrayMap  = mutableMapOf<String,String>() //推荐
        arrayMap["name"] = "ding"
        arrayMap["sex"] = "nan"
        arrayMap["sex"] = "nv" //此时会覆盖掉上面的记录 因为键是唯一的 重复添加会覆盖掉之前的记录
        //map字典的创建 ---- 使用Pair指定集合中初始化的元素
        val arrayMap2 = mutableMapOf<String,String>(Pair("key","value"))

        //字典集合创建方式---不可变
        val arrayMap3 = mapOf<String,String>(Pair("key","value"), Pair("name","ding"))
        val arrayMap4 = mapOf<String,String>() //空字典 无法动态添加

        //Set集合创建方式---可变集合 元素唯一
        val arraySet = mutableSetOf<Int>()
        arraySet.add(100)
        arraySet.add(200)
        arraySet.add(300)
        arraySet.add(300)//添加不进去

        val arraySet2 = mutableSetOf<Int>(1,2,3)
        arraySet2.add(2)//添加不进去 因为元素重复了

        //Set集合创建方式---不可变集合 元素唯一
        val arraySet3 = setOf<Int>(1,2,3)


        //常见方法 同样适用于set map list(可变情况下)
        val arrayString3 = mutableListOf<String>("1","2","3","4","5","2")
        println("isEmpty: ${arrayString3.isEmpty()}")
        println("contains: ${arrayString3.contains("6")}")//集合中是否包含6元素
        println("get: ${arrayString3.get(0)}")//根据索引获取元素
        println("indexOf: ${arrayString3.indexOf("2")}")//判断元素在集合中下标位置(第一个2停止) 下标为1 没有返回-1
        println("lastIndexOf: ${arrayString3.lastIndexOf("2")}")//判断元素在集合中下标位置(最后一个2停止) 下标为5 没有返回-1
        //迭代器
        val iterator = arrayString3.iterator()
        iterator.forEach {
            println("it:${it}")// "1","2","3","4","5","2"
        }
        arrayString3.clear() //清除集合
        arrayString3.set(0,"100")//修改下标对应元素
        arrayString3[0] = "100"//修改下标对应元素  会报错 以为上面清除集合了 size为0不能修改
        arrayString3.add(1,"7")//指定位置插入元素
        arrayString3.removeAt(0)//移除指定位置元素

        val numbers = mutableListOf<Int>(1,2,3,4)
        numbers.reverse()//集合反转
        numbers.forEach {
            println("it:${it}")
        }

        numbers.shuffle()//随机排列元素
        numbers.forEach {
            println("it:${it}")
        }

        numbers.sort()//从小到大排序
        numbers.forEach {
            println("it:${it}")
        }

        numbers.sortDescending()//从大到小排序
        numbers.forEach {
            println("it:${it}")
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值