map

Demo1 过程式实现

给定一个 List(1, 2, 3) 将其中的每个元素都 乘以 2 ,并返回一个新的集合。

object MapOperateDemo1 {

  def main(args: Array[String]): Unit = {
    val list1 = List(1, 2, 3)
    var list2 = List[Int]()
    for (item <- list1) {
      list2 = list2 :+ item * 2
    }
    println("list2:" + list2)
  }

}

上面的Demo有几个问题:

  1. 不够简洁、高效

  2. 没有函数式编程

  3. 不利于处理复杂的数据处理业务

由此我们引出下面的map映射操作。

集合元素map映射操作

将集合中的每一个元素通过指定功能(函数) 映射(转换)成新的结果集。

Seq 为例,可以看到它的map方法定义。

Demo2 函数式实现

  1. 将list中的元素全部遍历出来

  2. 将遍历出来的元素传递给multiple

  3. 将得到的值,放入到一个新的集合并返回

Demo3 编程实现map操作

Last updated

Was this helpful?