主要讲解集合的函数API。maxBy,map,all,any
/**
* You can edit, run, and share this code.
* play.kotlinlang.org
*/
fun main() {
println("Hello, world!!!")
//用listOf就比较简单些,字母o 是大写的O,创建的是不可变的集合
val easy_list=listOf("Apple","Banana","Orange","Pear","Grape")
for(fruit in easy_list){
println(fruit)
}
println("**End**")
//用集合的函数式API,可以快速得到一些结果,例如:得到长度最长的那个水果
val maxLengthFruit=easy_list.maxBy{it.length}
println("max length fruit is: "+maxLengthFruit)
println("**End**")
//集合的map函数是个常用的api,可以把集合的值映射成为另外的值,映射的规则由lamda表达式来确定
val captial_list=easy_list.map{it.toUpperCase()}
for(fruit in captial_list){
println(fruit)
}
println("**End**")
//下面来看看filter :过滤,例如:只保留那些长度小于等于5的水果
val filter_list=easy_list.filter{it.length<=5}
for(fruit in filter_list){
println(fruit)
}
//下面来看看any 和all
//any:判断是否集合中有任何的元素满足条件?
//all:判断是否集合中所有的元素都满足条件?
val anyResult=easy_list.any{it.length<=5}
val allResult=easy_list.all{it.length<=5}
println("anyResult is:"+anyResult)
println("allResult is:"+allResult)
println("**End**")
}
运行结果:
Hello, world!!!
Apple
Banana
Orange
Pear
Grape
**End**
max length fruit is: Banana
**End**
APPLE
BANANA
ORANGE
PEAR
GRAPE
**End**
Apple
Pear
Grape
anyResult is:true
allResult is:false
**End**