summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/immutable/TreeSet.scala
diff options
context:
space:
mode:
authorErik Rozendaal <erik@deler.org>2011-12-17 22:04:47 +0100
committerErik Rozendaal <erik@deler.org>2011-12-28 13:12:33 +0100
commitedcec038ed11dde5ccda92463d705916c3b39a34 (patch)
tree98f79815953e773fc13e94e9d6dd579a491734ad /src/library/scala/collection/immutable/TreeSet.scala
parent88ed93063419f6d09026e0ae466fe530f69af551 (diff)
downloadscala-edcec038ed11dde5ccda92463d705916c3b39a34.tar.gz
scala-edcec038ed11dde5ccda92463d705916c3b39a34.tar.bz2
scala-edcec038ed11dde5ccda92463d705916c3b39a34.zip
Optimized implementations of head/headOption/last/lastOption for
TreeMap/TreeSet.
Diffstat (limited to 'src/library/scala/collection/immutable/TreeSet.scala')
-rw-r--r--src/library/scala/collection/immutable/TreeSet.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/library/scala/collection/immutable/TreeSet.scala b/src/library/scala/collection/immutable/TreeSet.scala
index 05f27d0d93..85f4ae4b0e 100644
--- a/src/library/scala/collection/immutable/TreeSet.scala
+++ b/src/library/scala/collection/immutable/TreeSet.scala
@@ -53,6 +53,11 @@ class TreeSet[A](override val size: Int, t: RedBlack[A]#Tree[Unit])
override def stringPrefix = "TreeSet"
+ override def head = t.smallest.key
+ override def headOption = if (t.isEmpty) None else Some(head)
+ override def last = t.greatest.key
+ override def lastOption = if (t.isEmpty) None else Some(last)
+
def isSmaller(x: A, y: A) = compare(x,y) < 0
def this()(implicit ordering: Ordering[A]) = this(0, null)(ordering)