- val names = arrayOf("Amy", "Alex", "Bob", "Cindy", "Jeff", "Jack", "Sunny", "Sara", "Steven")
- //筛选S开首的人名
- val sName = names.filter { it.startsWith("S") }.toList()
- //按首字母分组并排序
- val nameGroup = names.groupBy { it[0] }
- .toSortedMap( Comparator { key1, key2 -> key1.compareTo(key2) })
递减
范围:downTo[n,m] => 即小于等于n,大年夜于等于m ,n > m
有些时刻并不克不及用val,比如在spring boot接窥测试中就不克不及应用val,对于这种情况,可以应用 lateinit 关键字。。
- // 轮回5次,且步长为1的递减
- for (i in 15 downTo 11){
- print("i => $i \t")
- }
输出结不雅为:
- i => 15 i => 14 i => 13 i => 12 i => 11
符号(’ .. ‘) 表示递增的轮回的别的一种操作
应用符号( ‘..’).
和until的差别,一是简便性。二是范围的不合。
例:
- print("应用 符号`..`的打印结不雅\n")
- for (i in 20 .. 25){
- print("i => $i \t")
- }
- println()
- print("应用until的打印结不雅\n")
- for (i in 20 until 25){
- print("i => $i \t")
- }
输出结不雅为:
应用 符号..的打印结不雅
可以查看Array.kt这个类。可以看见个中的iterator()函数,而这个函数实现了Iterator接口。
- i => 20 i => 21 i => 22 i => 23 i => 24 i => 25
应用until的打印结不雅
- i => 20 i => 21 i => 22 i => 23 i => 24
设置步长
关键字:step
例:
- for (i in 10 until 16 step 2){
- print("i => $i \t")
- }
输出结不雅为:
- i => 10 i => 12 i => 14
迭代
- for轮回供给一个迭代器用来遍历任何器械。
推荐阅读
沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践! 在很多行业中都有很多看起来竽暌剐事理,用起往来交往不是那回事的误区,在主机中更是有不少,受愚钱是一方面,硬件和>>>详细阅读
本文标题:不要用Java的语法思维来写Kotlin
地址:http://www.17bianji.com/lsqh/40601.html
1/2 1