Нет, Map
(и Set
) не заказаны. Вы можете проверить это с помощью интерактивного интерпретатора Scala (REPL):
scala> val elems = List('a'->1, 'b'->2, 'c'->3, 'd'->4, 'e'->5)
elems: List[(Char, Int)] = List((a,1), (b,2), (c,3), (d,4), (e,5))
scala> elems.toMap.toList
res8: List[(Char, Int)] = List((e,5), (a,1), (b,2), (c,3), (d,4))
Однако scala.collection
предоставляет SortedMap
, что может быть тем, что вы ищете, хотя я еще не использовал эту реализацию.
Редактировать: На самом деле, с этим преобразованием связана еще более фундаментальная проблема: поскольку у вас не может быть дубликатов ключей на карте, вы не только теряете гарантии при упорядочении, но и ваш список может содержать меньше элементов. после преобразования. Учти это:
scala> val elems = List('a'->1, 'a'->2)
elems: List[(Char, Int)] = List((a,1), (a,2))
scala> elems.toMap.toList
res9: List[(Char, Int)] = List((a,2))
person
Kulu Limpa
schedule
24.10.2014