美文网首页Android开发Android开发经验谈Android技术知识
Kotlin学习笔记(十一)函数操作符(过滤操作符)

Kotlin学习笔记(十一)函数操作符(过滤操作符)

作者: 大虾啊啊啊 | 来源:发表于2020-10-23 09:17 被阅读0次

1.drop

过滤掉前面N个元素

package com.example.kotlin01

val list = listOf(1, 2, 3, 4, 5)

fun main() {
    var result = list.drop(3)
    println(result)
}
[4, 5]

2.dropWhile

从第一个开始往后遍历,当遇到不满足条件的则返回剩余的列表

package com.example.kotlin01

val list = listOf(1, 2, 3, 4,0, 5)

fun main() {
    val result = list.dropWhile { it <= 3 }
    println(result)
}
[4, 0, 5]

以上例子从1开始,到了4的时候发现不满足条件,则返回剩余的列表4,0,5

3.dropLastWhile

从最后一个开始往前遍历,当遇到不满足条件的返回剩余的列表

package com.example.kotlin01

val list = listOf(10, 1, 3, 5, 7, 9)

fun main() {
    val result = list.dropLastWhile { it >8  }

    println(result)
}

从9开始往前遍历,当遇到7的时候,发现不满足,把剩余的列表返回

[10, 1, 3, 5, 7]

4.filter

过滤掉不满足的元素,留下满足的元素

package com.example.kotlin01

val list = listOf(10, 1, 3, 5, 7, 9)

fun main() {
    val result = list.filter {
        it>3
    }

    println(result)
}
[10, 5, 7, 9]

5.filterNot

和filter相反,过滤掉满足的元素,留下不满足的元素

package com.example.kotlin01

val list = listOf(10, 1, 3, 5, 7, 9)

fun main() {
    val result = list.filterNot {
        it>3
    }

    println(result)
}
[1, 3]

6.filterNotNull

过滤掉为null的元素,留下不为null的元素

package com.example.kotlin01

val list = listOf(10, 1, 3, 5, 7, 9,null)

fun main() {
    val result = list.filterNotNull()
    println(result)
}
[10, 1, 3, 5, 7, 9]

7.slice

获取指定索引index的元素

package com.example.kotlin01

val list = listOf(10, 1, 3, 5, 7, 9,null)

fun main() {
    val result = list.slice(listOf(1,2))
    println(result)
}

获取list中索引为1,2的元素,组成一个新的集合

8.take

返回第一个开始往后的N个元素

package com.example.kotlin01

val list = listOf(10, 1, 3, 5, 7, 9,null)

fun main() {
    val result = list.take(3)
    println(result)
}
[10, 1, 3]

9.takeLast

返回最后一个开始,往前的N个元素,和take相反

package com.example.kotlin01

val list = listOf(10, 1, 3, 5, 7, 9,null)

fun main() {
    val result = list.takeLast(3)
    println(result)
}
[7, 9, null]

10.takeWhile

第一个元素往后遍历,获取符合条件的元素,只要遇到不满足的立刻停止遍历

package com.example.kotlin01

val list = listOf(10, 1, 3, 5, 7, 9)

fun main() {
    val result = list.takeWhile {
        it >5
    }
    println(result)
}
[10]
package com.example.kotlin01

val list = listOf(4, 1, 3, 5, 7, 9)

fun main() {
    val result = list.takeWhile {
        it >5
    }
    println(result)
}
[]

相关文章

网友评论

    本文标题:Kotlin学习笔记(十一)函数操作符(过滤操作符)

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