美文网首页我爱编程
Kotlin集合妙用

Kotlin集合妙用

作者: 土逗牛肉 | 来源:发表于2018-06-06 09:50 被阅读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=="男" }

总结

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

相关文章

网友评论

    本文标题:Kotlin集合妙用

    本文链接:https://www.haomeiwen.com/subject/xkbvsftx.html