Kotlin - будет ли mutableMapOf () сохранять порядок, который я ввел - PullRequest
1 голос
/ 15 апреля 2019

Мне нужно знать, сохранит ли карта в Котлине порядок записей, которые я ввел при вставке
Пример * +1002 *

val data = mutableMapOf<String,String>()
data.put("some_string_1","data_1")
.
.
.
data.put("some_string_n","data_n")

сохранится ли порядок в течение итерации карты?

Ответы [ 2 ]

6 голосов
/ 15 апреля 2019

Да, будет.

Ссылка для mutableMapOf() говорит:

Возвращенная карта сохраняет порядок итераций входа.

Это именно то свойство, о котором вы спрашивали.

Текущая реализация (по состоянию на Kotlin 1.3.30) возвращает LinkedHashMap, который сохраняет порядок путем связывания записей. Базовая реализация может измениться в будущих версиях, но порядок итерации входа будет по-прежнему гарантирован в документированном контракте функций.

0 голосов
/ 15 апреля 2019

mutableMapOf(Pair...) создаст экземпляр того, что считается реализацией по умолчанию для этой платформы (возможно, HashMap).

Если вам нужно значение данных для сохранения порядка вставки, вы можете использовать linkedMapOf(Pair...)

val data = linkedMapOf(
    "some_string_1" to "data_1",
    "some_string_2" to "data_2",
    "some_string_n" to "data_n"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...