Mapa de Kotlin: mapOf()

El mapa de Kotlin es una colección que contiene pares de objetos. El mapa contiene los datos en forma de pares que consisten en una clave y un valor. Las claves del mapa son únicas y el mapa contiene solo un valor para cada clave. 
Kotlin distingue entre mapas inmutables y mutables . Los mapas inmutables creados con mapOf() significa que son de solo lectura y los mapas mutables creados con mutableMapOf() significa que podemos leer y escribir ambos.
Sintaxis: 

fun <K, V> mapOf(vararg pairs: Pair<K, V>): Map<K, V> 
  • El primer valor del par es la clave y el segundo es el valor de la clave correspondiente.
  • Si varios pares tienen la misma clave, el mapa devolverá el valor del último par.
  • Las entradas del mapa se recorren en el orden especificado.

Programa Kotlin de mapOf() 

Java

fun main(args: Array<String>)
{
    //declaring a map of integer to string
    val map = mapOf(1 to "Geeks", 2 to "for" , 3 to "Geeks")
    //printing the map
    println( map)
}

Producción: 

{1=Geeks, 2=for, 3=Geeks}

Asignar claves, valores y entradas –

Java

fun main(args: Array<String>)
{
    //declaring a map of integer to string
    val map = mapOf(1 to "One", 2 to "Two" , 3 to "Three", 4 to "Four")
 
    println("Map Entries : "+map)
 
    println("Map Keys: "+map.keys )
 
    println("Map Values: "+map.values )
}

Producción: 

Map Entries : {1=One, 2=Two, 3=Three, 4=Four}
Map Keys: [1, 2, 3, 4]
Map Values: [One, Two, Three, Four] 

Tamaño de mapa –

Podemos determinar el tamaño del mapa usando dos métodos. Usando la propiedad de tamaño del mapa y usando el método count()

Java

fun main() {
 
    val ranks = mapOf(1 to "India",2 to "Australia",3 to "England",4 to "Africa")
    //method 1
    println("The size of the map is: "+ranks.size)
    //method 2
    println("The size of the map is: "+ranks.count())
}

Producción: 

The size of the map is: 4
The size of the map is: 4 

Mapa vacío –

Podemos crear un mapa serializable vacío usando mapOf()
Ejemplo 2 de mapOf() 

Java

fun main(args: Array<String>)
{
    //here we have created an empty map using mapOf()
    val map1 = mapOf<String , Int>()
      
    println("Entries: " + map1.entries)  //entries of map
  
    println("Keys:" + map1.keys)  //keys of map
  
    println("Values:" + map1.values)  //values of map
  
}

Producción: 

Entries: []
Keys:[]
Values:[] 

Obtener valores de Mapa –

Podemos recuperar valores de un mapa usando diferentes métodos discutidos en el siguiente programa. 

Java

fun main() {
 
    val ranks = mapOf(1 to "India",2 to "Australia",3 to "England",4 to "Africa")
 
    //method 1
    println("Team having rank #1 is: "+ranks[1])
    //method 2
    println("Team having rank #3 is: "+ranks.getValue(3))
    //method 3
    println("Team having rank #4 is: "+ranks.getOrDefault(4, 0))
    // method  4
    val team = ranks.getOrElse(2 ,{ 0 })
    println(team)
}

Producción: 

Team having rank #1 is: India
Team having rank #3 is: England
Team having rank #4 is: Africa
Australia

El mapa contiene clave o valores:

Podemos determinar que un mapa contiene una clave o valor usando los métodos containsKey() y containsValue() respectivamente. 

Java

fun main() {
    val colorsTopToBottom = mapOf("red" to 1, "orange" to 2, "yellow" to 3,
        "green" to 4 , "blue" to 5, "indigo" to 6, "violet" to 7)
    var color = "yellow"
    if (colorsTopToBottom.containsKey(color)) {
        println("Yes, it contains color $color")
    } else {
        println("No, it does not contain color $color")
    }
    val value = 8
    if (colorsTopToBottom.containsValue(value)) {
        println("Yes, it contains value $value")
    } else {
        println("No, it does not contain value $value")
    }
}

Producción: 

Yes, it contains color yellow
No, it does not contain value 8 

Dos valores y la misma clave –

Si dos valores tienen el mismo valor clave , el mapa contendrá el último valor de esos números.
Ejemplo 3 de mapOf() 

Java

fun main(args: Array<String>)
{
    //lets make two values with same key
    val map = mapOf(1 to "geeks1",2 to "for" , 1 to "geeks2")
    // return the map entries
    println("Entries of map : " + map.entries)
}

Producción:  

Entries of map : [1=geeks2, 2=for]

Explicación: 
aquí el valor clave 1 se ha inicializado con dos valores: geeks1 y geeks2 , pero como sabemos, mapOf() solo puede tener un valor para un elemento clave , por lo tanto, el último valor solo lo almacena el mapa y geeks1 se elimina.

Publicación traducida automáticamente

Artículo escrito por ManishKhetan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *