目录
- List
- Set
- Map
Lambda
即指希腊字母
λ
的读音,是一种十分简洁的函数表达式,这种规范在很多语言中都有应用,方面大家更简洁地编写代码。
Kotlin里集合分为以下几种:
集合 | 分类 | 解释 |
List | List | 不可变List集合 |
MutableList | 可变List集合 | |
Set | Set | 不可变Set集合 |
MutableSet | 可变Set集合 | |
Map | Map | 不可变Map集合 |
MutableMap | 可变Map集合 |
List
当你想创建一个
List
,Kotlin专门提供一个:
listof()
函数来初始化集合。如下所示:
val fruit = listOf(\"苹果\", \"香蕉\", \"桃\", \"葡萄\")
还记得
for…in
循环吗?在这里遍历
List
相当方便。如下所示:
fun main(){val fruit = listOf(\"苹果\", \"香蕉\", \"桃\", \"葡萄\")for (eachOne in fruit){println(\"我吃了一个 $eachOne 。\")}}
结果如图:
当然,这个
List
是不可变的,下面我们来创建一个可变列表,向里面加入
“火龙果”
,再打印出来:
fun main(){val fruit = mutableListOf(\"苹果\", \"香蕉\", \"桃\", \"葡萄\")fruit.add(\"火龙果\")for (eachOne in fruit){println(\"我吃了一个 $eachOne 。\")}}
可以看到,新的
“火龙果”
已经打印出来了。
Set
Set
用法与
List
一致,只是
Set
使用
hash映射机制
存放数据,无法保证顺序一致。下面来实现一下:
fun main(){val fruit = mutableSetOf(\"苹果\", \"香蕉\", \"桃\", \"葡萄\")fruit.add(\"火龙果\")for (eachOne in fruit){println(\"我吃了一个 $eachOne 。\")}}
Map
Map
是一种
“键值对”
形式的数据结构。我们这里首先使用
“数据下标“
形式的创建
Map
:
fun main(){val fruit = HashMap<String, Int>()fruit[\"苹果\"] = 1fruit[\"香蕉\"] = 2fruit[\"桃\"] = 3fruit[\"葡萄\"] = 4for ((eachOne,number) in fruit){println(\"我吃的第$number 个水果是 $eachOne 。\")}}
类似的还有一种
put()
和
get()
的写法,不推荐,仅供阅读:
val fruit = HashMap<String, Int>()fruit.put(\"苹果\", 1)println(fruit.get(\"苹果\"))
当然以上不是最简写法,Kotlin仍然提供了
mapof()
和
mutablesMapof()
供大家使用,这样我们可以直接传入初始化的
“键值对”
完成
Map
创建。代码如下:
fun main(){val fruit = mapOf(\"苹果\" to 1, \"香蕉\" to 2, \"橘子\" to 3, \"桃子\" to 4)for ((eachOne,number) in fruit){println(\"我吃的第$number 个水果是 $eachOne 。\")}}
集合的创建与遍历就学到这里,下一期学习
集合的函数形式API
,正式入门
Lambda编程
。
欢迎关注小试编程