Java到JDK1.8之后加入Lambda编程,Kotlin从第一个版本开始支持Lambda编程。
1、传统意义上的集合主要就是List和Set,像Map这样的键值对数据结构也可以包含进来。
1.1、List、Set和Map在Java中都是接口;
1.2、List的主要实现类是ArrayList和LinkedList;
1.3、Map的主要实现类事HashMap。
2.1、创建List集合:
val list = ArrayList<String>()
list.add("apple")
list.add("pear")
list.add("grape")
listOf()函数简化初始化集合写法:
val list = listOf("apple","pear","grape")
2.2、for-in循环不仅可以用来遍历区间,还可以用来遍历集合
fun main(){
val list = listOf("Apple","Banana","Orange","Pear","Grape")
for(fruit in list){
println(fruit)
}
}

2.3、注意:listOf()函数创建的是一个不可变的集合,不可变的集合指的就是该集合只能用于读取,无法对集合进行添加、修改或删除操作。
2.4、如果需要创建一个可变的集合,可以使用mutableListOf()函数。
fun main(){
val list = mutableListOf("Apple","Banana","Orange","Pear","Grape")
list.add("Watermelon")
for(fruit in list){
println(fruit)
}
}
3.1、Set集合的用法一模一样,只是将创建集合的方式换成了setOf()和mutableSetOf()函数。
fun main(){
val set = setOf("Apple","Banana","Orange","Pear","Grape")
for(fruit in set){
println(fruit)
}
}
3.2、注意:Set集合中不可以存放重复的元素,如果存放多个相同的元素,只会保留其中一份。
4.1、初始化Map:
val map = HashMap<String, Int>()
map.put("Apple",1)
4.2、在Kotlin中并不建议使用put()和get()方法来对Map进行添加和读取操作,而是更加推荐一种类似于数组下标的语法结构:
map["Apple"] = 1
4.3、从Map中读取一条数据:
val number = map["Apple"]
4.4、Kotlin提供了一对mapOf()和mutableMapOf()函数来继续简化Map用法:
val map = mapOf("Apple" to 1, "Banana" to 2)//to并不是关键字,而是一个infix函数
4.5、遍历Map集合:
fun main(){
val map = mapOf("Apple" to 1, "Banana" to 2)
for((fruit, number) in map){
println("fruit is " + fruit + ", number is " + number)
}
}
网友评论