Карта Kotlin: Mapof ()

Карта Kotlin: Mapof ()

#Kotlin

Карта Котлин — это коллекция, которая содержит пары объектов. Карта содержит данные в виде пар, которые состоят из ключа и значения. Ключи карты являются уникальными, и карта содержит только одно значение для каждого ключа.

Котлин различает неизменяемые и изменчивые карты. Неизменяемые карты, созданные с помощью mapOf (), означают, что они доступны только для чтения, а изменяемые карты, созданные с помощью mutableMapOf (), означают, что мы можем выполнять как чтение, так и запись.


Синтаксис:

fun <K, V> mapOf(vararg pairs: Pair<K, V>): Map<K, V>
  • Первое значение пары — это ключ, а второе — значение соответствующего ключа.
  • Если несколько пар имеют один и тот же ключ, карта вернет значение последней пары.
  • Записи на карте пройдены в указанном порядке.

Котлинская программа mapOf ()


fun main(args: Array<String>)

{

    // объявляем карту целого числа в строку

    val map = mapOf(1 to "Geeks", 2 to "for" , 3 to "Geeks")

    // печать карты

    println( map)

}

Выход:

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

Ключи карты, значения и записи —


fun main(args: Array<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 )

}

Выход:

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

Размер карты —

Мы можем определить размер карты, используя два метода. Используя свойство размера карты и метод count () .


fun main() {

  

    val ranks = mapOf(1 to "India",2 to "Australia",3 to "England",4 to "Africa")

    // метод 1

    println("The size of the map is: "+ranks.size)

    // метод 2

    println("The size of the map is: "+ranks.count())

}

Выход:

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

Пустая карта —

Мы можем создать пустую сериализуемую карту с помощью mapOf ()

Пример 2 из mapOf ()


fun main(args: Array<String>) 

{

    // здесь мы создали пустую карту с помощью mapOf ()

    val map1 = mapOf<String , Int>()

       

    println("Entries: " + map1.entries)  // записи карты

   

    println("Keys:" + map1.keys)  // ключи карты

   

    println("Values:" + map1.values)  // значения карты

   

}

Выход:

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

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

Мы можем извлечь значения из карты, используя различные методы, описанные в приведенной ниже программе.


fun main() {

  

    val ranks = mapOf(1 to "India",2 to "Australia",3 to "England",4 to "Africa")

  

    // метод 1

    println("Team having rank #1 is: "+ranks[1])

    // метод 2

    println("Team having rank #3 is: "+ranks.getValue(3))

    // метод 3

    println("Team having rank #4 is: "+ranks.getOrDefault(4, 0))

    // метод 4

    val team = ranks.getOrElse(2 ,{ 0 })

    println(team)

}

Выход:

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

Карта содержит ключ или значения —

Мы можем определить, что карта содержит ключ или значение, используя методы containsKey () и containsValue () соответственно.


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

    }

}

Выход:

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

Два значения и один и тот же ключ —

Если два значения имеют одно и то же значение ключа , то карта будет содержать последнее значение этих чисел.

Пример 3 из mapOf ()


fun main(args: Array<String>)

{

    // давайте создадим два значения с одинаковым ключом

    val map = mapOf(1 to "geeks1",2 to "for" , 1 to "geeks2")

    // возвращаем записи карты

    println("Entries of map : " + map.entries)

}

Выход:

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

Пояснение:

Здесь значение ключа 1 было инициализировано двумя значениями: geeks1 и geeks2 , но, как мы знаем, у mapOf () может быть только одно значение для одного ключевого элемента , поэтому последнее значение сохраняется только картой, а geeks1 исключается.


Report Page