summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2017-03-30 09:01:47 +0200
committerGitHub <noreply@github.com>2017-03-30 09:01:47 +0200
commitecf3fa6c06c0a73abb3616fb87d08040369c6294 (patch)
tree5cd3ed06fdcadf7cbee28cb2c5601833b41bbdba
parentf5ce29b7f4afaf00ac644665963e017a9fa253d9 (diff)
parent40f0514f177c05d6171cc122a2ce30e9e6cfe6af (diff)
downloadscala-ecf3fa6c06c0a73abb3616fb87d08040369c6294.tar.gz
scala-ecf3fa6c06c0a73abb3616fb87d08040369c6294.tar.bz2
scala-ecf3fa6c06c0a73abb3616fb87d08040369c6294.zip
Merge pull request #5802 from jrudolph/jr/w/ListBuffer-isEmpty-nonEmpty
Implement ListBuffer.isEmpty / nonEmpty / head efficiently
-rw-r--r--src/library/scala/collection/mutable/ListBuffer.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/library/scala/collection/mutable/ListBuffer.scala b/src/library/scala/collection/mutable/ListBuffer.scala
index 3bb7004184..aa79e972d5 100644
--- a/src/library/scala/collection/mutable/ListBuffer.scala
+++ b/src/library/scala/collection/mutable/ListBuffer.scala
@@ -119,6 +119,10 @@ final class ListBuffer[A]
// Don't use the inherited size, which forwards to a List and is O(n).
override def size = length
+ // Override with efficient implementations using the extra size information available to ListBuffer.
+ override def isEmpty: Boolean = len == 0
+ override def nonEmpty: Boolean = len > 0
+
// Implementations of abstract methods in Buffer
override def apply(n: Int): A =