Kotlin遍历操作函数:forEach VS forEachIndexed

桃扇骨 2022-11-18 10:55 269阅读 0赞

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20yOTAzNDU3OTI_size_16_color_FFFFFF_t_70_pic_center

Kotlin遍历操作函数

对数据的主要遍历操作。常规的都是使用for循环。在kotlin的函数式编程中一般都是使用forEach和forEachIndexed。

ForEach

forEach函数适用于Collection和Map集合,以及数组,函数只有一个函数类型的参数,实参往往使用尾随形式的Lambda表达式。在执行时forEach会把集合或数组中的每一个元素传递给Lambda表达式(或其他的函数引用)以便去执行。

  1. fun main(args: Array<String>) {
  2. val strArray = arrayOf("张三", "李四", "王五")
  3. strArray.forEach {
  4. println(it)
  5. }
  6. }

forEachIndexed

使用forEach函数无法返回元素的索引,如果既想返回集合元素,又想返回集合元素索引,则可以使用forEachIndexed函数,forEachIndexed适用于Collection集合和数组

  1. fun main(args: Array<String>) {
  2. val strArray = arrayOf("张三", "李四", "王五")
  3. strArray.forEachIndexed { index, value ->
  4. println("$index - $value")
  5. }
  6. }

forEach VS forEachIndexed

两者都是用来作遍历的函数。

从使用范围来看,forEach的范围包含了map集合。forEachIndexed因索引的关系,不包含map集合。

其他的使用情况,基本上差不多。

发表评论

表情:
评论列表 (有 0 条评论,269人围观)

还没有评论,来说两句吧...

相关阅读