Una colección en Scala es una estructura de datos que contiene un grupo de objetos. Los ejemplos de colecciones incluyen arrays, listas, etc. Podemos aplicar algunas transformaciones a estas colecciones usando varios métodos. Uno de estos métodos ampliamente utilizados que ofrece Scala es map() .
Puntos importantes sobre el método map() :
- map() es una función de orden superior .
- Cada objeto de colección tiene el método map().
- map() toma alguna función como parámetro.
- map() aplica la función a cada elemento de la colección fuente.
- map() devuelve una nueva colección del mismo tipo que la colección de origen.
Sintaxis :
collection = (e1, e2, e3, ...) //func is some function collection.map(func) //returns collection(func(e1), func(e2), func(e3), ...)
Ejemplo 1 : Uso de la función definida por el usuario
// 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)
En el ejemplo anterior, estamos pasando un cuadrado de función definido por el usuario como parámetro al método map() . Se crea una nueva colección que contiene cuadrados de elementos de la colección original. La colección de origen no se ve afectada.
Ejemplo 2 : Uso de la función anónima
// 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)
En el ejemplo anterior, se pasa una función anónima como parámetro al método map() en lugar de definir una función completa para la operación cuadrada. Este enfoque reduce el tamaño del código.
Publicación traducida automáticamente
Artículo escrito por MohammadKhalid y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA