Wenn wir Karte verwenden, dann keine Notwendigkeit zu importieren unveränderlich KarteWarum wird Scala Map automatisch importiert, aber HashMap nicht?
scala> val map=Map[String,Int]()
map: scala.collection.immutable.Map[String,Int] = Map()
Aber wenn wir HashMap verwenden, dann ohne Import zu tun, gibt es Fehler.
scala> val a=HashMap[Int,Int]()
<console>:7: error: not found: value HashMap
val a=HashMap[Int,Int]()
^
aber tun import scala.collection.immutable.HashMap, es funktioniert.
Ich sehe es auch mit Set und Hashset ..
ich eine Sache feststellen, dass Karte und Set sind Zug und HashSet, HashMap sind Klassen.
Also warum ist es so ???
EDIT
Klasse Stack und Queue auch in scala.collection Paket vorhanden ist. Warum müssen wir diese Klassen importieren? ???
'' 'val map = Karte()' '' würde das gleiche tun, da Karte unveränderlich ist. und '' '> map + (" Ahoy "-> 0)' '' funktioniert, dank der Kovarianz. – jwinandy
Wie für Stack und Warteschlange, ich denke, dass sie nur viel weniger verwendet als List, Set und Map. –
Ich bin mir nicht sicher, aber ich denke, das sind die Klassen wie HashMap. Daher werden sie nicht automatisch importiert, da Ihre Antwort "Programm an eine Schnittstelle, keine Implementierung" suggeriert. – Rishi