Kotlin基础7

可变列表:

在Kotlin中,支持内容修改的列表叫可变列表,要创建可变列表,可以使用mutableListOf函数。List还支持使用toList和toMutableList函数动态实现只读列表和可变列表的相互转换。

fun main() {
    val list = mutableListOf("Jason", "Jack", "Jacky")
    list.add("Jimmy")
    list .remove ("Jack")
    println(list)

    listOf("Jason", "Jack", "Jacky").toMutableList()
    mutableListOf("Jason", "Jack", "Jacky").toList()
}

mutator函数:

能修改可变列表的函数有个统一的名字:mutator函数
添加元素运算符与删除元素运算符 (还记得C++中的运算符重载吗?)
基于lambda表达式指定的条件删除元素

fun main() {
    val list = mutableListOf("Jason", "Jack", "Jacky")
//    list.add("Jimmy")
//    list .remove ("Jack")

    listOf("Jason", "Jack", "Jacky").toMutableList()
    mutableListOf("Jason", "Jack", "Jacky").toList()

    list += "Jimmy"
    list -= "Jason"
    list.removeIf {
        it.contains("Jack")
    }
    println(list)
}

集合遍历:

fun main() {
    val list = mutableListOf("Jason", "Jack", "Jacky")
    for (s in list) {
        println(s)
    }
    list.forEach {
        println(it)
    }

    list.forEachIndexed { index, s ->
        println("$index, $s")
    }
}

解构:

跳过、省略、有不想赋值的地方可以使用_(下划线)

val (orlgin : String , _ : String ,proxy : String ) = list

Set创建与元素获取:(set不能有重复元素)

通过setOf创建set集合,使用elementAt函数读取集合中的元素。

fun main() {
    val set = setOf("Jason", "Jack", "Jacky","Jack")
    println(set.elementAt(2))
}

通过mutableSetOf创建可变的set集合

val mutableSetOf = mutableSetOf("Jason", "Jack", "Jacky", "Jack")
    mutableSetOf+="Jimmy"

集合转换:

List转Set:

val list = listOf("Jason", "Jack", "Jacky", "Jack").toSet().toList()
    println(list)

    println(listOf("Jason", "Jack", "Jacky", "Jack").distinct())

数组类型:

fun main() {
    val inArrayOf = intArrayOf(10, 20, 30)
    listOf(10,20,30).toIntArray()
    val arrayOf = arrayOf(File("xxx"), File("yyy"))//file数组
}

Map集合:

map的创建

fun main() {

    val map = mapOf("Jack" to 20, "Jason" to 18, "Jack" to 20)

    mapOf(Pair("Jimmy", 20), Pair("Jacky", 20))

}

读取Map的值:

[ ]取值运算符,读取键对应的值,如果键不存在就返回null
getValue,读取键对应的值,如果键不存在就抛出异常
getOrElse,读取键对应的值,或者使用匿名函数返回默认值
getOrDefault,读取键对应的值,或者返回默认值     

println(map["Jack"])
    println(map.getValue("Jack"))
    println(map.getOrElse("Rose"){"Unknown"})
    println(map.getOrDefault("Rose",0))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值