kotlin 集合 : take/takeWhile/takeIf/takeUnless 与 drop/dropLast/dropLastWhile/dropWhile

一、take

take

private fun take() {
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    //take函数是根据传入的参数挑出该集合【前n个元素】的子集合
    val mNewList1 = mList.take(2)
    println(mNewList1)
    //[1, 2]

    //takeLast函数是根据传入的参数挑出该集合【倒数n个元素】的子集合
    val mNewList2 = mList.takeLast(2)
    println(mNewList2)
    //[9, 0]
}
takeWhile

private fun takeWhile() {
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)

    //takeWhile : 从头开始取值,不符合立即停止
    val mNewList3 = mList.takeWhile {
        it % 2 == 0
    }
    println(mNewList3)
    //[]


    //takeLastWhile : 从尾开始取值,不符合立即停止
    val mNewList4 = mList.takeLastWhile {
        it % 2 == 0
    }
    println(mNewList4)
    //[0]
}
takeIf
private fun takeIf() {
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)

    //如果符合返回它
    val mNewList5 = mList.takeIf {
        it.size == 10 //true
    }
    println(mNewList5)
    //[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]


    val mNewList51 = mList.takeIf {
        it.size == 5  //false
    }
    println(mNewList51)
    //null
}
takeUnless
private fun takeUnless() {
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)

    //如果不符合返回它
    val mNewList6 = mList.takeUnless {
        it.size == 10  //true
    }
    println(mNewList6)
    //null


    val mNewList61 = mList.takeUnless {
        it.size == 5  //false
    }
    println(mNewList61)
    //[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

}

二、drop

drop
private fun drop() {
    //去掉前n个开始取值
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    val resultList = mList.drop(3)
    println(resultList)
}
//[4, 5, 6, 7, 8, 9, 0]

dropLast


private fun dropLast() {
    //去掉最后n个开始取值
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    val resultList = mList.dropLast(3)
    println(resultList)
}
//[1, 2, 3, 4, 5, 6, 7]

dropLastWhile

private fun dropLastWhile() {
    //最后开始找不满足的开始取值,满足的抛弃尾部
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    val resultList = mList.dropLastWhile { it <= 1 }
    println(resultList)
}
//[1, 2, 3, 4, 5, 6, 7, 8, 9]

dropWhile
private fun dropWhile() {
    //从头开始找不满足的开始取值,满足的抛弃头部
    val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    val resultList = mList.dropWhile { it <= 1 }
    println(resultList)
}
//[2, 3, 4, 5, 6, 7, 8, 9, 0]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值