List的主要实现类是ArrayList和LinkedList;
Set的主要实现类是HashSet;
Map的主要实现类是HashMap;
他们区别:
list:元素有放入顺序,元素可重复(有序,可重复)
set:元素无放入顺序,元素不可可重复 (无序,不可重复)
map:储存键值对的数据
set的主要实现类是HashSet
listOf 和 mutableListOf 区别:
listOf : 不能增加list 长度
mutableListOf:增加list 长度
// 不可改变list 长度 // key -> 下标 // value -> 值 // withIndex() 可以打印 key value var list = listOf<String>("apple","Banana","Pear","Grape","Watermelon"); for ((key,value) in list.withIndex()){ print("$key,$value\t") } 打印: 0,apple 1,Banana 2,Pear 3,Grape 4,Watermelon
mutableListOf:增加list长度
var list1 = mutableListOf<String>("apple","Banana","Pear","Grape"); list1.add("Watermelon"); for (item in list1){ print("$item\t") }
打印:apple Banana Pear Grape Watermelon
set和mutableSetOf用法与 listOf 和 mutableListof 用法一致:
set用法
var set= setOf("apple","Banana","Pear","Grape","Watermelon")
for (item in set){
print("$item \t")
}
打印:apple Banana Pear Grape Watermelon
mutableSetOf用法
var set= mutableSetOf("apple","Banana","Pear","Grape") set.add("Watermelon"); for (item in set){ print("$item \t") } 打印:apple Banana Pear Grape Watermelon
map 也提供 mapOf() 和 mutableMapOf() 用法:
一般的写法:
var map = HashMap<String , String>(); map.put("name","张三") map.put("age","18") map.put("sex","男") for ((key,values) in map){ print("$key:$values \t") } 打印:sex:男 name:张三 age:18
mapOf() 简写:
var map = mapOf("name" to "张三","age" to "18" , "sex" to "男") for ((key,values) in map){ print("$key:$values \t") } 打印:name:张三 age:18 sex:男
mutableMapOf() 用法:
var map = mutableMapOf("name" to "张三","age" to "18" ) // map.put("sex","男") map["sex"]="男" //还可以这样写 for ((key,values) in map){ print("$key:$values \t") } 打印:name:张三 age:18 sex:男