Возвращает immutable.HashMap
, который на самом деле является неизменным хеш-массивом, отображаемым три . Эта структура данных по сути является гибридом между многоуровневой хеш-таблицей и деревом. В худшем случае сложность дерева с отображением хеш-массива составляет O(log n)
для всех операций, хотя и с очень низким постоянным коэффициентом - попытки сопоставления с хеш-массивом очень незначительны и обычно имеют только несколько косвенных указаний. Вы можете прочитать больше о характеристиках производительности здесь или запустить пару микробензаров. Производительность приемлема в большинстве случаев.
toMap
всегда возвращает три. Если вам нужна изменяемая хеш-таблица, сделайте следующее:
import collection._
mutable.HashMap() ++= xs
вместо:
xs.toMap