您当前的位置: 首页 >  kotlin
  • 0浏览

    0关注

    674博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

kotlin过滤数组元素写法改进

沙漠一只雕得儿得儿 发布时间:2020-12-07 20:20:22 ,浏览量:0

原始写法,我们将一个集合中特定的字符串找到后放到另一个集合中,最后返回这个集合:

    fun getSpecialResult() : ArrayList{
        val arrays = ArrayList()
        val resultArrays = ArrayList()
        for (special in arrays) {
            if (special == "111") {
                resultArrays.add(special)
            }
        }
        return resultArrays
    }

改进一:使用lambda表达式:

    fun getSpecialResult(): ArrayList {
        val arrays = ArrayList()
        val resultArrays = ArrayList()
        arrays.forEach { special: String ->
            if (special == "111") {
                resultArrays.add(special)
            }
        }
        return resultArrays
    }

改进二:利用类型推断,可以将表达式中的类型String去掉:

    fun getSpecialResult(): ArrayList {
        val arrays = ArrayList()
        val resultArrays = ArrayList()
        arrays.forEach { special ->
            if (special == "111") {
                resultArrays.add(special)
            }
        }
        return resultArrays
    }

改进三:在kotlin中,lambda只有一个参数的话,该参数special也是可以省略掉的:

    fun getSpecialResult(): ArrayList {
        val arrays = ArrayList()
        val resultArrays = ArrayList()
        arrays.forEach {
            if (it == "111") {
                resultArrays.add(it)
            }
        }
        return resultArrays
    }

改进四:利用kotlin自带的函数式编程的filter操作符:

    fun getSpecialResult(): ArrayList {
        val arrays = ArrayList()
        arrays.filter {it == "111"}
        return arrays
    }

 

关注
打赏
1657159701
查看更多评论
立即登录/注册

微信扫码登录

0.1942s