Класс LinkedHashMap
Класс LinkedHashMap представляет собой реализацию
интерфейса MutableMap, которая сохраняет порядок
вставки элементов. В отличие от обычного HashMap,
который не гарантирует порядок элементов, LinkedHashMap
сохраняет элементы в том порядке, в котором они были добавлены.
Это позволяет итерировать по элементам в предсказуемом порядке.
Импорт
import kotlin.collections.LinkedHashMap
Синтаксис
LinkedHashMap()
LinkedHashMap(initialCapacity: Int)
LinkedHashMap(original: Map<K, V>)
LinkedHashMap(initialCapacity: Int, loadFactor: Float)
Пример
Создадим пустой LinkedHashMap и добавим в него
несколько элементов:
val map = LinkedHashMap<String, Int>()
map["one"] = 1
map["two"] = 2
map["three"] = 3
println(map)
Результат выполнения кода:
{one=1, two=2, three=3}
Пример
Создадим LinkedHashMap из существующей карты:
val originalMap = mapOf("a" to 1, "b" to 2, "c" to 3)
val linkedMap = LinkedHashMap(originalMap)
println(linkedMap)
Результат выполнения кода:
{a=1, b=2, c=3}
Пример
Продемонстрируем сохранение порядка элементов при итерации:
val map = LinkedHashMap<Char, Int>()
map['z'] = 26
map['a'] = 1
map['m'] = 13
for ((key, value) in map) {
println("$key -> $value")
}
Результат выполнения кода:
z -> 26
a -> 1
m -> 13
Пример
Создадим LinkedHashMap с указанием начальной
емкости и фактора загрузки:
val map = LinkedHashMap<Int, String>(10, 0.75f)
map[1] = "first"
map[2] = "second"
map[3] = "third"
println(map.size)
println(map)
Результат выполнения кода:
3
{1=first, 2=second, 3=third}
Смотрите также
-
интерфейс
Map,
базовый интерфейс для всех карт -
интерфейс
MutableMap,
интерфейс для изменяемых карт -
класс
HashMap,
реализация карты без сохранения порядка -
класс
TreeMap,
реализация отсортированной карты