Jeśli używamy map wtedy nie ma potrzeby importowania niezmienne mapDlaczego Scala Map jest automatycznie importowana, ale HashMap nie jest?
scala> val map=Map[String,Int]()
map: scala.collection.immutable.Map[String,Int] = Map()
Ale jeśli używamy HashMap, a następnie, nie robiąc importu, daje błąd.
scala> val a=HashMap[Int,Int]()
<console>:7: error: not found: value HashMap
val a=HashMap[Int,Int]()
^
ale robi import scala.collection.immutable.HashMap, to działa.
ja też to widzę z zestawu i Hashset ..
Zauważyłem jedną rzecz, że mapa i mieszczą się cecha i HashSet, HashMap są zajęcia.
Więc dlaczego tak jest?
EDIT
Klasa stosu i kolejki jest także występować w pakiecie scala.collection. dlaczego musimy importować te klasy. ???
'' 'val map = mapa()' '' zrobi to samo, ponieważ mapa jest niezmienna. i '' '> map + (" Ahoy "-> 0)" '' działa, dzięki kowariancji. – jwinandy
Co do Stack i Queue, myślę, że są one o wiele mniej używane niż List, Set i Map. –
Nie jestem pewien, ale myślę, że są to klasy takie jak HashMap. dlatego nie są automatycznie importowane, ponieważ sugeruje odpowiedź "Program do interfejsu, a nie implementacja". – Rishi