Kotlin语法手册(二)

Kotlin语法手册(二)

在使用kotlin时,由于掌握的不够牢靠,好多时候也还是Java编程的习惯,浪费了kotlin提供的语言特性,方便性,间接性,在阅读一些Android开源库的时候,由于好多都是kotlin语法编写的,看的比较费劲,还得去查阅kotlin的语法,比较不方便,故把kotlin的语法记录下来,方便查阅温故,巩固自己的基础知识。

函数操作符

总数操作符

any

如果至少有一个元素符合给出的判断条件,则返回 true

    val list = listOf(1, 3, 5, 7, 9)
    println(list.any { it > 13 })  //false
    println(list.any { it > 7 })   //true
all

如果全部的元素符合给出的判断条件,则返回 true

    val list = listOf(1, 3, 5, 7, 9)
   
   println(list.all { it > 13 })  //false
   println(list.all { it > 0 })   //true
count

返回符合给出判断条件的元素总数

    val list = listOf(1, 3, 5, 7, 9)
    println(list.count { it > 7 })  //1
    println(list.count { it > 2 })  //4
fold

在一个初始值的基础上从第一项到最后一项通过一个函数累计所有的元素

fun main() {
    val list = listOf(1, 3, 5, 7, 9)
    println(list.fold(2) { total, next->
        println("$next , $total")
        next + total
    })
}
1 , 2//集合的第一个元素1,和初始化基础值2
3 , 3//集合的第二个元素3,上次累加的1+2=3
5 , 6//集合的第三个元素5,上次累加的3+3=6
7 , 11//集合的第四个元素7,上次累加的5+6=11
9 , 18//集合的第五个元素9,上次累加的7+11=18
27//外层println(list...)输入返回值9+18=27
foldRight

与 fold  一样,但顺序是从最后一项到第一项

    val list = listOf(1, 3, 5, 7, 9)
    println(list.foldRight(2) { next, total->
        println("$next , $total")
        next + total
    })
9 , 2
7 , 11
5 , 18
3 , 23
1 , 26
27
forEach
    val list = listOf(1, 3, 5, 7, 9)
    list.forEach { print(it + 1) } //246810
forEachIndexed

类似于 forEach ,同时可以得到元素的索引

val list = listOf(1, 3, 5, 7, 9)
list.forEachIndexed { index, value -> println("$index value is $value") }

//输入结果
0 value is 1
1 value is 3
2 value is 5
3 value is 7
4 value is 9
max

返回最大的一项,如果没有则返回null

val list = listOf(1, 3, 5, 7, 9)
println(list.max()) //9
maxBy

根据给定的函数返回最大的一项,如果没有则返回 null

val list = listOf(1, 3, 5, 7, 9)
println(list.maxBy { -it }) //1
min

返回最小的一项,如果没有则返回null

val list 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值