当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala map()用法及代码示例


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)

在上面的示例中,我们将用户定义的函数平方作为参数传递给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()方法,而不是为平方运算定义整个函数。这种方法减少了代码大小。




相关用法


注:本文由纯净天空筛选整理自MohammadKhalid大神的英文原创作品 Scala | map() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。