作家
登录

不要用Java的语法思维来写Kotlin

作者: 来源: 2018-03-12 11:57:41 阅读 我要评论

  1. val names = arrayOf("Amy""Alex""Bob""Cindy""Jeff""Jack""Sunny""Sara""Steven")   
  2.    
  3. //筛选S开首的人名   
  4. val sName = names.filter { it.startsWith("S") }.toList()   
  5.    
  6. //按首字母分组并排序   
  7. val nameGroup = names.groupBy { it[0] }   
  8.         .toSortedMap( Comparator { key1, key2 -> key1.compareTo(key2) }) 

递减

范围:downTo[n,m] => 即小于等于n,大年夜于等于m ,n > m

有些时刻并不克不及用val,比如在spring boot接窥测试中就不克不及应用val,对于这种情况,可以应用 lateinit 关键字。。

  1. // 轮回5次,且步长为1的递减 
  2. for (i in 15 downTo 11){ 
  3.     print("i => $i \t"

输出结不雅为:

  1. i => 15 i => 14 i => 13 i => 12 i => 11 

符号(’ .. ‘) 表示递增的轮回的别的一种操作

应用符号( ‘..’).

和until的差别,一是简便性。二是范围的不合。

例:

  1. print("应用 符号`..`的打印结不雅\n"
  2. for (i in 20 .. 25){ 
  3.     print("i => $i \t"
  4. println() 
  5. print("应用until的打印结不雅\n"
  6. for (i in 20 until 25){ 
  7.     print("i => $i \t"

输出结不雅为:

应用 符号..的打印结不雅

可以查看Array.kt这个类。可以看见个中的iterator()函数,而这个函数实现了Iterator接口。

  1. i => 20 i => 21 i => 22 i => 23 i => 24 i => 25 

应用until的打印结不雅

  1. i => 20 i => 21 i => 22 i => 23 i => 24 

设置步长

关键字:step

例:

  1. for (i in 10 until 16 step 2){ 
  2.     print("i => $i \t"

输出结不雅为:

  1. i => 10 i => 12 i => 14 

迭代

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)