2017-01-02 6 views
1

ich SortedMap für geordnete Elemente speichern:Scala SortedMap unter der Haube

val map = SortedMap("Kim" -> 90, "Steve" -> 22, "Alex" -> 12) 

Meine Fragen sind:

  1. Was ist die Umsetzung Stand unter SortedMap?
  2. Ist SortedMap gleich Red black tree?
  3. SortedMap in Java ist eine Schnittstelle, warum in Scala kann es instanziiert werden?
+0

3. ist https://stackoverflow.com/questions/9737352/what-is-the-apply-function-in-scala#9738862 – Reactormonk

Antwort

3

Die Standard-Implantation von SortedMap in Scala ist ein TreeMap die ein immutable Red-Black tree ist. Nicht zu verwechseln mit Javas java.util.TreeMap, welches änderbar ist.

Warum SortedMap in Scala instanziiert werden kann? Es kann nicht, es ist eine Eigenschaft, aber das Begleitobjekt SortedMap gibt Ihnen die Flexibilität, das Objekt auf diese Weise zu initialisieren.

+0

Warum 'SortedMap' mit' TreeMap' verwandt ist, müssen diese beiden Konzepte sein getrennt wie Klasse und Merkmal? – pacman

+0

@pacman Sie sind separat, aber TreeMap ist die Standardimplementierung. –

+0

wo ist der Platz in scala code wo 'SortedMap' Delegat zu' TreeMap'? – pacman

Verwandte Themen