Если я создаю Set
в Scala, используя Set(1, 2, 3)
, я получаю immutable.Set
.
scala> val s = Set(1, 2, 3)
s: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
Q1: Что это за набор на самом деле? Это какой-то хэш-набор? Например, какова сложность поиска?
Q2: Где я могу прочитать об этом методе "создания множества"? Я думал, что это был метод apply
, но в документах говорится " Этот метод позволяет интерпретировать наборы как предикаты. Он возвращает истину, если этот набор содержит элемент elem. "
Аналогично, если я создаю List
с использованием List(1, 2, 3)
, я получаю
scala> val l = List(1, 2, 3)
l: List[Int] = List(1, 2, 3)
scala> l.getClass
res13: java.lang.Class[_] = class scala.$colon$colon
Q3: Опять же, что я получу? В этом случае я даже не могу сразу сказать, является ли он изменяемым или нет, поскольку он даже не входит в пакет scala.collection
. Почему это живет в пакете scala
?
Q4: Где в API можно прочитать об этом методе "создания списка"?