1、表达式1
数组的
groupBy
分组与when
关键字一起使用
//分组
fun groupBy(){
var list1 = listOf("张三", "张思", "寅务")
val map1 = list1.groupBy {
var first = it.substring(0, 1)
when (first) {
"张" -> "张"
"寅" -> "寅"
else -> "其他"
}
}
println(map1)
}
2、表达式2
数组的
sortedBy、sortedByDescending
排序
//排序
fun sort(){
var list1 = listOf(Personx(29, "liangjl"), Personx(22, "梁继龙"), Personx(30, "寅务"))
//sortedBy升序排序
var list2 = list1.sortedBy { it.age }
println(list2)
//sortedByDescending倒序排序
var list3 = list1.sortedByDescending { it.age }
println(list3)
}
3、表达式3
数组的
minBy
最小值和maxBy
最大值方法
//求最小或最大值
fun minOrMax(){
var list1 = listOf(Personx(29, "liangjl"), Personx(22, "梁继龙"), Personx(30, "寅务"))
list1.maxBy { it.age } //最大值
list1.minBy { it.age } //最小值
}
4、表达式4
数组的去重复方法
distinctBy
//去重复
fun quchong(){
var list1 = listOf("张三", "张思", "寅务","寅务" ,"茵曼")
//val set = list1.toSet()
//println(set)
println(list1.distinctBy { it })
//去掉同性的人名
println(list1.distinctBy { it.substring(0,1) })
}
5、表达式5
数组的集合拆分方法
partition
//集合拆分
fun listCf(){
var list1 = listOf("张三", "张思", "寅务","寅务" ,"茵曼")
var p = list1.partition { it.startsWith("张") }
println(p.first)
println(p.second)
}
6、表达式6
求数组集合用户的最大年龄
sumBy
data关键字
生成get/set方法,创建一个实体类
fun listSum(){
var list1 = listOf(Personx(29, "liangjl"), Personx(22, "梁继龙"), Personx(30, "寅务"))
//所有人的年龄相加
var sumAge = list1.sumBy { it.age }
println(sumAge)
}
//data 生成get/set方法,创建一个实体类
data class Personx(var age : Int ,var userName :String )
7、表达式7
可以多个值在一个大括号进行输出
//可以多个值在一个大括号进行输出
fun moreValOut(){
val (age,userName) = Personx(29, "liangjl")
println(age)
println(userName)
}
//创建一个实体类
data class Personx(var age : Int ,var userName :String )
源代码例子