📜  斯卡拉 |地图()方法

📅  最后修改于: 2022-05-13 01:55:21.721000             🧑  作者: Mango

斯卡拉 |地图()方法

Scala 中的集合是包含一组对象的数据结构。集合的示例包括数组、列表等。我们可以使用几种方法对这些集合应用一些转换。 Scala 提供的一种这样广泛使用的方法是map()
关于 map() 方法的要点

  • map() 是一个高阶函数。
  • 每个集合对象都有 map() 方法。
  • map() 将某个函数作为参数。
  • map() 将该函数应用于源集合的每个元素。
  • map() 返回与源集合相同类型的新集合。

语法

collection = (e1, e2, e3, ...)

//func is some function
collection.map(func)

//returns collection(func(e1), func(e2), func(e3), ...)

示例 1 :使用用户定义的函数

// Scala program to
// transform a collection
// using map()
  
//Creating object
object GfG
{
  
    // square of an integer
    def square(a:Int):Int
    =
    {
        a*a
    }
  
    // Main method
    def main(args:Array[String])
    {
        // source collection
        val collection = List(1, 3, 2, 5, 4, 7, 6)
      
        // transformed collection
        val new_collection = collection.map(square)
  
        println(new_collection)
  
    }
  
}
输出:
List(1, 9, 4, 25, 16, 49, 36)

在上面的示例中,我们将用户定义的函数square作为参数传递给map()方法。创建了一个新集合,其中包含原始集合的元素的正方形。源集合不受影响。

示例 2 :使用匿名函数

// Scala program to
// transform a collection
// using map()
  
//Creating object
object GfG
{
      
    // Main method
    def main(args:Array[String])
    {
        // source collection
        val collection = List(1, 3, 2, 5, 4, 7, 6)
  
        // transformed collection
        val new_collection = collection.map(x => x * x )
  
        println(new_collection)
    }
}
输出:
List(1, 9, 4, 25, 16, 49, 36)

在上面的示例中,匿名函数作为参数传递给map()方法,而不是为平方运算定义整个函数。这种方法减少了代码大小。