diff options
author | Sean McDirmid <sean.mcdirmid@gmail.com> | 2006-08-24 13:04:06 +0000 |
---|---|---|
committer | Sean McDirmid <sean.mcdirmid@gmail.com> | 2006-08-24 13:04:06 +0000 |
commit | 0093ff481c95dc7dc1bc5a144fcab17ca55fe53e (patch) | |
tree | 6a202b085798370dba3714b0a0c20142b49e3aa4 | |
parent | b7fdd697803901e2d42d6c4c96198c88d9f1136d (diff) | |
download | scala-0093ff481c95dc7dc1bc5a144fcab17ca55fe53e.tar.gz scala-0093ff481c95dc7dc1bc5a144fcab17ca55fe53e.tar.bz2 scala-0093ff481c95dc7dc1bc5a144fcab17ca55fe53e.zip |
-rw-r--r-- | src/library/scala/collection/mutable/LinkedHashSet.scala | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/library/scala/collection/mutable/LinkedHashSet.scala b/src/library/scala/collection/mutable/LinkedHashSet.scala new file mode 100644 index 0000000000..1d63183aab --- /dev/null +++ b/src/library/scala/collection/mutable/LinkedHashSet.scala @@ -0,0 +1,29 @@ +package scala.collection.mutable; + +class LinkedHashSet[A](private val set0 : java.util.LinkedHashSet) extends Set[A] { + def this() = this(new java.util.LinkedHashSet); + private def this(set1 : java.util.Set, b : Boolean) = this(new java.util.LinkedHashSet(set1)); + + def contains(elem: A): Boolean = set0.contains(elem); + + def +=(elem: A): Unit = set0.add(elem); + + def ++=(set : LinkedHashSet[A]) = set0.addAll(set.set0); + def --=(set : LinkedHashSet[A]) = set0.removeAll(set.set0); + + def -=(elem: A): Unit = set0.remove(elem); + def elements = new Iterator[A] { + val i = set0.iterator; + def hasNext = i.hasNext(); + def next = i.next().asInstanceOf[A]; + } + def clear = set0.clear(); + def size = set0.size(); + override def toString() = set0.toString(); + + override def clone(): Set[A] = { + val res = new LinkedHashSet[A](set0,true); + res ++= this; + res + } +} |