一. list 1.1.可变集合与不可变集合
var list3 = listOf("iam")
println(list3.get(0))
println(list3[0])
println(list3.getOrNull(1)?:"越界了")
println(list3.getOrElse(1,{"越界了"}))
var list1 = mutableListOf("is your")
list1.remove("is your")
println(list1.getOrNull(0))
var list2 = list3.toMutableList()
println(list2[0])
var list4 = list1.toList()
list1.removeIf { true }
println(list1)
运行结果: 1.2三种遍历手段
val list = listOf(1,2,3)
for( i in list){
print("$i ")
}
println()
list.forEach {
print("$it ")
}
println()
list.forEachIndexed{index: Int, i: Int ->
print("下标为$index 元素是$i " )
}
println()
二. 解构写法
var(num1,num2,num3) = list;
println("num1 = $num1; num2 = $num2; num3 = $num3")
num1 = 4;
println("num1 = $num1; num2 = $num2; num3 = $num3")
val(n1,n2,n3) = list
var(_,a2,a3) = list
println("num2 = $a2; num3 = $n3")
通过反编译可以看出,_表示不接受数据,反编译没有给予变量
三.Set 与list有可变和不可变
var set = setOf(1,2,3)
val set1 = mutableSetOf(1,2,3)
set1.add(4)
println(set.elementAt(0))
println(set1.elementAtOrNull(1))
println(set1.elementAtOrElse(1,{"越接了"}))
set1 += 5;
set1 += 4
println(set1.elementAt(4))
四. list 与 set 互转达到去重效果 五. 数组类型 1.1 注意:arrayof<>()存放的是Array<对象类型>,是类对象类型 1.2 集合转数组 1.3 arrayof<>() 六. Map 1.1获取并初始化map对象的俩种方式
val map1 = mapOf<String,String>("小郑" to("二十"),"Allen" to("二十一"))
val map2 : Map<String,Int> = mapOf(Pair("小郑",20), Pair("Allen",21))
1.2获取值的五种方式
println(map1["小郑"])
println(map1["佚名"])
println(map1.get("小郑"))
println(map1.get("佚名"))
println(map1.getOrDefault("小郑","没有相关数据"))
println(map1.getOrDefault("佚名","没有相关数据"))
println(map1.getOrElse("小郑"){"没有相关数据"})
println(map1.getOrElse("Allen",{"没有相关数据"}))
println(map1.getOrElse("佚名"){"没有相关数据"})
println(map1.getValue("小郑"))
println(map1.getValue("佚名"))
1.3 map从可变到不可变:
var map3 = map1.toMutableMap()
map3.put("晓坚","二十一")
map3.remove("Allen")
map3.replace("小郑","二十","二十三")
println(map3)
1.4map的四种遍历
map3.forEach {
print("${it.key}=${it.value} ")
}
println()
map3.forEach{ Key,Value ->
print("$Key=$Value ")
}
println()
map3.forEach { (K,V) ->
print("$K=$V ")
}
println()
for(item in map3){
print("$item ")
}
其中第四种相当于
for(item : Map.Entry<String,String> in map3){
print("$item ")
}
但由于默认会推导并增加:Map.Entry<String,String>,所以可以不写
|