Scala中的map()方法

Scala中的map()方法是Scala中的内置函数,用于在Scala中转换集合。

map()方法用于Scala中所有收集对象的方法定义的。同样,该方法具有转换函数,该函数在转换集合时使用。对于map()函数,源集合和目标集合的类型相同。

语法:

collection.map(convFunc)

参数:

  • convFunc-这是一个转换函数,用于转换集合中的元素。

返回值:

该函数返回与初始函数相同类型的新集合。

例子:

在这里,我们将看到使用不同类型的方法作为map()方法的参数。

示例1:使用匿名函数作为map()方法的参数

//Program to illustrate the working of map() function

object MyObject {
    def main(args: Array[String]) {
        val coll1 = List(5, 2, 9, 7, 1, 19) 
        
        println("Initial collection: "+coll1)
        
        val coll2 = coll1.map(x =>  x + 5) 
        
        println("Mapped collection with function to add 5: "+coll2)
    }
}

输出:

Initial collection: List(5, 2, 9, 7, 1, 19)
Mapped collection with function to add 5: List(10, 7, 14, 12, 6, 24)

说明:

在这里,我们创建了一个集合coll1,它是一个列表。然后,我们使用了map()方法,在该方法中,我们传递了一个匿名函数以将5加到该元素上。然后打印创建的新列表。

示例2:使用用户定义的函数作为map()方法的参数

// Program to illustrate the working of map() function

object MyObject {
    def convFunc(x:Int) : Int = { 
       2*x;
    }

    def main(args: Array[String]) {
        val coll1 = Array(1, 3, 4, 6, 7, 9) 
        
        print("Initial collection: ")
        for(i <-  1 to coll1.length - 1)
            print("\t"+ coll1(i));
        
        val coll2 = coll1.map(convFunc) 
        
        print("\nMapped collection with function to multiply by 2: ")
        for(i <-  1 to coll1.length - 1)
            print("\t"+ coll2(i));
    }
}

输出:

Initial collection: 	3	4	6	7	9
Mapped collection with function to multiply by 2: 	6	8	12	14	18

说明:

在这里,我们创建了一个集合coll1,它是一个数组。然后,我们使用map()方法对集合进行了转换,在该方法中,我们传递了用户定义的值以乘以2。然后打印创建的新数组。