Intereting Posts
Преобразование Linear to Grid Layout Почему у меня есть нежелательный выход Log при слиянии 2 наблюдаемых в другие Observable, которые буферизуют их каждые 10 секунд Управление жизненным циклом файлов cookie в сервлете Ktor 0.9.0 Как преобразовать изображение в bytearray в kotlin Kotlin: appendText и закрывающие ресурсы Делегирование методов производных классов с помощью динамической отправки Как инициировать массив строк в Котлине? Kotlin и привязка данных для Android (BuildTools 2.0.0) Kotlin coroutine не ждет, чтобы это было сделано Как сохранить уведомление при исчезновении приложения? Как заставить Kotlin прекратить использование аргумента для неправильного класса (Интерфейс) Kotlin: В чем разница между Apply and Also Array / List iteration без дополнительных распределений объектов Предупреждение: опция '-d' с назначением каталога игнорируется, поскольку указан '-module' Out-projected type в универсальном интерфейсе запрещает использование метода с общим параметром

Как я могу использовать составной ключ в Kotlin?

В Python у меня могут быть сложные словарные ключи, например:

d = {} d[(1, 2)] = 3 print d[(1, 2)] # prints 3 

Как я могу объявить и заполнить такую ​​карту в Котлине?

Изменить: я попытался объявить такую ​​Карту, но я не знаю, как ее заполнить:

 val my_map = HashMap<Pair<Int, Int>, Int>() 

    Это просто, сначала создайте словарь, а затем вставьте ключ и значения:

     val (a, b):Pair<Int, String> = Pair(1, "x") val map: HashMap<Pair<Int, String>, Int> = hashMapOf((a, b) to 1) map[Pair(2, "y")] = 3 

    и так далее 🙂

    В Kotlin, в отличие от Python, нет типа данных кортежа. Для двухкортежей есть класс Pair. Для большей ясности вы должны использовать классы данных.

     val map: HashMap<Pair<Int, Int>, Int> = hashMapOf(Pair(1, 2) to 3) val nullable: Int? = map[Pair(1, 2)] val notNullable = map.getValue(Pair(1, 2))