Kotlin MutableMap es una interfaz de marcos de colección que contiene objetos en forma de claves y valores. Permite al usuario recuperar de manera eficiente los valores correspondientes a cada clave. La clave y los valores pueden ser de diferentes pares como <Int, String>, <Char, String>, etc.
Para usar la interfaz MutableMap necesitamos usar funciones como se muestra a continuación
mutableMapOf() or mutableMapOf <K, V>()
Para declarar la interfaz MutableMap
interface MutableMap<K, V> : Map<K, V> (source)
Ejemplo de función mutable que contiene entradas, claves, valores.
Kotlin
fun main(args: Array<String>) { val items = mutableMapOf("Box" to 12, "Books" to 18, "Table" to 13) println("Entries: " + items.entries) //Printing Entries println("Keys:" + items.keys) //Printing Keys println("Values:" + items.values) //Printing Values }
Producción:
Entries: [Box=12, Books=18, Table=13] Keys:[Box, Books, Table] Values:[12, 18, 13]
Encontrar el tamaño del mapa –
Podemos determinar el tamaño del mapa mutable usando dos métodos. Usando la propiedad de tamaño del mapa y usando el método count().
Kotlin
fun main(args : Array<String>) { val ranks = mutableMapOf(1 to "India",2 to "Australia", 3 to "England",4 to "Africa") //method 1 println("The size of the mutablemap is: "+ranks.size) //method 2 println("The size of the mutablemap is: "+ranks.count()) }
Producción:
The size of the mutablemap is: 4 The size of the mutablemap is: 4
Obtener valores de Mapa –
Podemos recuperar valores de un mapa mutable usando diferentes métodos discutidos en el siguiente programa.
Kotlin
fun main() { val ranks = mutableMapOf(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
función put() y putAll()
La función put() y putAll() se usa para agregar elementos en MutableMap. La función put() agrega un solo elemento a la vez, mientras que la función putAll() se puede usar para agregar varios elementos a la vez en MutableMap.
Programa Kotlin para usar las funciones put() y putAll() –
Kotlin
fun main(args: Array<String>) { val mutableMap = mutableMapOf<String, String>() mutableMap.put("Name", "Geek") mutableMap.put("Country", "India") val map = mapOf<String,String>("Department" to "Computer Science", "Hobby" to "Coding") println("<----Traverse mutableMap---->") for (key in mutableMap.keys) { println("Key = "+key +", "+"Value = "+mutableMap[key]) } mutableMap.putAll(map) println("<----Traversal after putting hashmap---->") for (key in mutableMap.keys) { println("Key = "+key +", "+"Value = "+mutableMap[key]) } }
Producción:
<----Traverse mutableMap----> Key = Name, Value = Geek Key = Country, Value = India <----Traversal after putting hashmap----> Key = Name, Value = Geek Key = Country, Value = India Key = Department, Value = Computer Science Key = Hobby, Value = Coding
función remove(key) y remove(key, value) –
La función remove(key) se utiliza para eliminar el valor que corresponde a su clave mencionada.
La función remove(key, value) se usa para eliminar elementos que contienen claves y valores
Programa Kotlin para demostrar la función remove() –
Kotlin
fun main(args: Array<String>) { val mutableMap = mutableMapOf<String, String>() mutableMap.put("Name", "Geek") mutableMap.put("Company", "GeeksforGeeks") mutableMap.put("Country", "India") for (key in mutableMap.keys) { println("Key = ${key}, Value = ${mutableMap[key]}") } println() println("Remove the Key: "+mutableMap.remove("Country")) println() println("Is pair removes from the map: " +mutableMap.remove("Company","GeeksforGeeks")) println() println("<---Traverse Again--->") for (key in mutableMap.keys) { println("Key = ${key}, Value = ${mutableMap[key]}") } }
Producción:
Key = Name, Value = Geek Key = Company, Value = GeeksforGeeks Key = Country, Value = India Remove the Key: India Is pair removes from the map: true <---Traverse Again---> Key = Name, Value = Geek
Función clear() –
Se usa para eliminar todo el elemento del mutableMap.
Programa Kotlin para usar la función clear() –
Kotlin
fun main(args: Array<String>) { val mutableMap: MutableMap<String, String> = mutableMapOf<String, String>() mutableMap.put("Name", "Geek") mutableMap.put("Company", "GeeksforGeeks") for (key in mutableMap.keys) { println("Key = ${key}, Value = ${mutableMap[key]}") } println("mutableMap.clear()") println("Method called to clear the map: "+mutableMap.clear()) println("Map Empty: "+mutableMap) }
Producción:
Key = Name, Value = Geek Key = Company, Value = GeeksforGeeks mutableMap.clear() Method called to clear the map: kotlin.Unit Map Empty: {}
Recorrido en un mapa mutable –
Atravesar significa viajar a través de cada Node en las estructuras de datos como Lista enlazada, Arrays, Árboles, etc.
Simplemente significa viajar a cada Node al menos una vez para mostrárselo al usuario o realizar una operación en él.
Para entender esto, tomemos un ejemplo debajo
del programa Kotlin para demostrar el recorrido:
Kotlin
fun main(args: Array<String>) { //Declaring function //Creating MutableMap of different types val mutableMap = mutableMapOf(1 to "Aditya", 4 to "Vilas", 2 to "Manish", 3 to "Manjot") for (key in mutableMap.keys) { println("Key = ${key}, Value = ${mutableMap[key]}") } }
Producción:
Key = 1, Value = Aditya Key = 4, Value = Vilas Key = 2, Value = Manish Key = 3, Value = Manjot