Общий интерфейс Map
не дает такой гарантии заказа. И не может, поскольку это исключило бы HashMap
в качестве возможной реализации.
Я полагаю, collection.immutable.ListMap
сохраняет порядок вставки, вы также можете использовать LinkedHashMap
через интерфейс Map
, что затем предотвратит доступ к любым методам мутатора. Это достаточно просто сделать, явно указав тип:
val m: scala.collection.Map[Int,Int] = collection.mutable.LinkedHashMap(1->2, 2->3)
или (используя типовое обозначение):
val m = collection.mutable.LinkedHashMap(1->2, 2->3) : Map[Int,Int]