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。然后打印创建的新数组。