Как инициализировать неизменяемый хэш-карту Scala со значениями? - PullRequest
31 голосов
/ 10 октября 2010

Каков синтаксис для установки неизменяемого содержимого hashmap при инициализации?

Например, если бы я хотел жестко закодировать массив, я бы написал:

val a = Array (0, 1, 2, 3)

Какой аналог для неизменных хэш-карт (скажем, я хочу, чтобы он содержал 0-> 1 и 2-> 3 пары) (в Scala 2.8)?

Ответы [ 2 ]

56 голосов
/ 10 октября 2010

Вы имеете в виду что-то подобное?


scala> val m = collection.immutable.HashMap(0 -> 1, 2 -> 3)
m: scala.collection.immutable.HashMap[Int,Int] = Map((0,1), (2,3))

scala> m.get(0)
res0: Option[Int] = Some(1)

scala> m.get(2)
res1: Option[Int] = Some(3)

scala> m.get(1)
res2: Option[Int] = None
5 голосов
/ 31 декабря 2014

Для создания из коллекции (помните, что НЕ иметь ключевое слово new)

val result: HashMap[Int, Int] = HashMap(myCollection: _*)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...