斯卡拉 |地图()方法
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()方法,而不是为平方运算定义整个函数。这种方法减少了代码大小。