diff options
author | Erik Rozendaal <erik@deler.org> | 2011-12-17 22:04:47 +0100 |
---|---|---|
committer | Erik Rozendaal <erik@deler.org> | 2011-12-28 13:12:33 +0100 |
commit | edcec038ed11dde5ccda92463d705916c3b39a34 (patch) | |
tree | 98f79815953e773fc13e94e9d6dd579a491734ad /src/library/scala/collection/immutable/TreeSet.scala | |
parent | 88ed93063419f6d09026e0ae466fe530f69af551 (diff) | |
download | scala-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.scala | 5 |
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) |