Ответ
LinkedHashMap сохраняет порядок вставки элементов, TreeMap сортирует элементы по ключам (натуральный порядок или Comparator), а HashMap не гарантирует никакого порядка.
Пример:
val hashMap = HashMap<String, Int>().apply {
put("c", 3); put("a", 1); put("b", 2)
} // Порядок не гарантирован
val linkedMap = LinkedHashMap<String, Int>().apply {
put("c", 3); put("a", 1); put("b", 2)
} // Порядок: c, a, b
val treeMap = TreeMap<String, Int>().apply {
put("c", 3); put("a", 1); put("b", 2)
} // Порядок: a, b, c
Производительность:
HashMap: O(1) дляget/put(в среднем).LinkedHashMap: чуть медленнееHashMapиз-за поддержки порядка.TreeMap: O(log n) для операций, так как использует красно-черное дерево.