Котлин mutableMapOf ()

Опубликовано: 1 Февраля, 2022

Kotlin MutableMap - это интерфейс фреймворков коллекций, который содержит объекты в виде ключей и значений. Это позволяет пользователю эффективно извлекать значения, соответствующие каждому ключу. Ключ и значение могут быть разными парами, такими как <Int, String>, <Char, String> и т. Д.
Для использования интерфейса MutableMap нам необходимо использовать функции, как показано ниже.

 mutableMapOf () или mutableMapOf <K, V> ()

Для объявления интерфейса MutableMap

 interface MutableMap <K, V>: Map <K, V> (источник)

Пример изменяемой функции, содержащей записи, ключи, значения.

 

Java

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
}

Выход:

 Записи: [Box = 12, Books = 18, Table = 13]
Ключи: [Коробка, Книги, Стол]
Значения: [12, 18, 13]

Определение размера карты -

We can determine the size of mutable map using two methods. By using the size property of the map and by using the count() method. 
 

Java

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())
}

Выход:

 Размер изменяемой карты: 4
Размер изменяемой карты: 4

Получить значения карты -

We can retrieve values from a mutable map using different methods discussed in the below program. 
 

Java

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)
}

Выход:

 Команда, занявшая первое место: Индия
Команда под номером 3: Англия
Команда под номером 4: Африка
Австралия

Функция put () и putAll ()

The put() and putAll() function is used to add elements in the MutableMap.put() function adds single element at time while putAll() function can be used to add multiple element at a time in MutableMap.
Kotlin program of using put() and putAll() function – 
 

Java

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])
    }
}

Выход:

 <---- Пройдите через mutableMap ---->
Ключ = Имя, Значение = Компьютерщик
Ключ = Страна, значение = Индия
<---- Обход после помещения хэш-карты ---->
Ключ = Имя, Значение = Компьютерщик
Ключ = Страна, значение = Индия
Ключ = Департамент, Ценность = Компьютерные науки
Ключ = хобби, ценность = кодирование

функция remove (ключ) и remove (ключ, значение) -

Function remove(key) is used to remove value which corresponds to its mentioned key. 
Function remove(key, value) is used to remove elements containing keys and values
Kotlin program to demonstrate remove() function – 
 

Java

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]}")
    }
}

Выход:

 Ключ = Имя, Значение = Компьютерщик
Ключ = Компания, Ценность = GeeksforGeeks
Ключ = Страна, значение = Индия

Удалите ключ: Индия

Удаляется ли пара с карты: true

<--- Пройдите снова --->
Ключ = Имя, Значение = Компьютерщик

функция clear () -

Used to remove all the element from the mutableMap.
Kotlin program of using clear() function – 
 

Java

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)
}

Выход:

 Ключ = Имя, Значение = Компьютерщик
Ключ = Компания, Ценность = GeeksforGeeks
mutableMap.clear ()
Метод, вызываемый для очистки карты: kotlin.Unit
Карта пуста: {}

Обход изменяемой карты -

Traversing means traveling through every node in the data structures like Linked List, Arrays, Trees, etc. 
It just means that traveling to every node at least once to display it to the user or perform an operation on it. 
To understand this let’s take an example below 
Kotlin program to demonstrate the traversal – 
 

Java

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]}")     
    }
}

Выход:

 Ключ = 1, Значение = Адитья
Ключ = 4, Значение = Вилас
Ключ = 2, Значение = Маниш
Ключ = 3, Значение = Манжот