我爱编程

Kotlin集合妙用

2018-06-06  本文已影响0人  土逗牛肉

前言

用了一段时间Kotlin,感觉Kotlin名副其实最优美的语言,怪不得谷歌选它作为官方Android开发语言。很多地方写法上跟Java比起来,简直爽的不得了。下面对我用到的写法做个总结。


集合

说道集合,基本上每个项目都无法避免,用集合过程的中可能会有排 > >序、过滤等等操作
构造一个学生list用来举例说明:

val students=MutableList<Student>
//Student.kt 包含姓名、年龄、性别
data class Student(var name:String,var age:Int,var sex:String)

场景:在students中需要取出age>18的所有学生

  • Java的写法
datas=new List<Student>()
for(Student item:students){
   if(age>18){
       datas.add(item)
   }
}
  • Kotlin写法:写出来你可能不信
datas=students.filter{ it.age>18 }

Kotlin一行就搞定了,你没看错就是一行

场景:接下来需要把年龄从大到小排序

  • Java写法
Collections.sort(students,new Comparator(){
   @Override
   public int compare(Student o1,Student o2){
       return o1.age-o2.age
   }
})
  • Kotlin写法:
//降序:
stedents=stedents.sortedByDescending{ it.age }
//升序
students.sortedBy{ it.age }
//list为Map<String,List<Student>> 类型
val list=students.groupBy{ if(it.sex=="男") "boy" else "gril" }
stedents.forEach{ print(it) }
//返回最大Student
val maxAgeStu=stedents.maxBy{ it.age }
//最小年龄
val minAgeStu=stedents.minBy{ it.age }
val count=students.count{ it.sex=="男" }

总结

以上全部都是开发过程中用到的实践,写起来非常舒服,集合还有其他非常简便的操作,这里就不一一列举,有兴趣的同学自己尝试

上一篇 下一篇

猜你喜欢

热点阅读