Если я создаю 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, но в документах сказано: "Этот метод позволяет интерпретировать префиксы как предикаты. Он возвращает true, если этот набор содержит элемент 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 я могу прочитать об этом методе создания списка?