Для LinkedHashMap ответ довольно ясен, что он сохраняет порядок вставки.
Но для ListMap кажется, что здесь есть некоторые недоразумения.
Во-первых, существует две ListMap,
- scala.collection.mutable.ListMap
- scala.collection.immutable.ListMap.
Во-вторых, в документе для ListMap что-то не так в том, что касаетсякак я и пытался.
mutable.ListMap
Фактический порядок не является порядком вставки, как говорится.
И это также не обратный порядок вставки.Результат, который я попробовал: [четвертый, второй, первый, третий]
Простая изменяемая карта, поддерживаемая списком, поэтому она сохраняет порядок вставки.
immutable.ListMap
Поскольку документ гласит, что порядок - это порядок вставки.
Следует отметить, что онхранится внутри в обратном порядке вставки.И внутренне хранимый порядок, и порядок итерации / обхода - это две вещи.Внутренне сохраненный порядок определяет временную сложность методов поиска, таких как head / last / tail / init /.
Этот класс реализует неизменяемые карты, используя структуру данных на основе списка.Итераторы карты списка и методы обхода посещают пары ключ-значение в том порядке, в котором они были добавлены.
Записи хранятся внутри в обратном порядке вставки, что означает, что самый новый ключ находится в начале списка.