map函数的一个应用

突然面临一个需求,对于列表 [ “1” , “0” , “87” , “9” , “2” ] ,把里面的 0 改成 1 。

可以使用 map函数 对其进行遍历,它把每个元素映射为另外的值,生成一个新数组,使用arrayNew接收。映射规则在lambda表达式里面,注意最后一行是返回值。

lambda表达式里面还用到了运算符重载,0++的操作也可以使用 .inc(),plus是和数相加。

val arrayNew = array.map {
    var a = it
    if (it == "0") {
        a = it.toInt().plus(1).toString()
    }
    Log.d(TAG, "a: $a")
    a
}

虽然需求简单,实现也很简单,但是包含了两个不太熟的东西,记下来加深印象。