summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/immutable/TreeMap.scala
diff options
context:
space:
mode:
authorErik Rozendaal <erik@deler.org>2011-12-17 19:36:49 +0100
committerErik Rozendaal <erik@deler.org>2011-12-28 13:12:33 +0100
commit540ad0223ae26c0deae250c3ace2092904290a8b (patch)
tree67758dd7423b31699b621903816921e35034e94a /src/library/scala/collection/immutable/TreeMap.scala
parent99c5d831613bf49afc702dc6aca7ce47b30eab7b (diff)
downloadscala-540ad0223ae26c0deae250c3ace2092904290a8b.tar.gz
scala-540ad0223ae26c0deae250c3ace2092904290a8b.tar.bz2
scala-540ad0223ae26c0deae250c3ace2092904290a8b.zip
Use RedBlack.iterator to create iterators for TreeSet/TreeMap.
This turns iterator creation from an O(n) operation into an O(log n) operation. Unfortunately, it halves actual iteration speed (consuming the iterator fully), probably due to the many by-name closures that are needed.
Diffstat (limited to 'src/library/scala/collection/immutable/TreeMap.scala')
-rw-r--r--src/library/scala/collection/immutable/TreeMap.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/library/scala/collection/immutable/TreeMap.scala b/src/library/scala/collection/immutable/TreeMap.scala
index ef0eac3701..2fd5208991 100644
--- a/src/library/scala/collection/immutable/TreeMap.scala
+++ b/src/library/scala/collection/immutable/TreeMap.scala
@@ -153,7 +153,7 @@ class TreeMap[A, +B](override val size: Int, t: RedBlack[A]#Tree[B])(implicit va
*
* @return the new iterator
*/
- def iterator: Iterator[(A, B)] = tree.toStream.iterator
+ def iterator: Iterator[(A, B)] = tree.iterator
override def toStream: Stream[(A, B)] = tree.toStream