This module provides user-contributed additions to the Scala collections library.
It is published for Scala 2.13 and Scala 3. All platforms are supported (JVM, Scala.js, Scala Native).
If you're using sbt, you can add the dependency as follows:
libraryDependencies += "org.scala-lang.modules" %% "scala-collection-contrib" % "0.3.0"
If you're using Scala.js or Scala Native, substitute %%%
for %%
.
Here is the full Scaladoc.
These collections are in the scala.collection
package.
MultiSet
(both mutable and immutable)SortedMultiSet
(both mutable and immutable)MultiDict
(both mutable and immutable)SortedMultiDict
(both mutable and immutable)
The new operations are provided via an implicit enrichment. You need to add the following import to make them available:
import scala.collection.decorators._
The following operations are provided:
BitSet
: <<, >>, ...mutable.BitSet
: <<=, >>=, ...Iterable
: foldSomeLeft, lazyFoldLeft, lazyFoldRight, splitBy, ...Iterator
: intersperse, foldSomeLeft, lazyFoldLeft, lazyFoldRight, splitBy, ...Map
: fullOuterJoin, leftOuterJoin, mergeByKey, mergeByKeyWith, rightOuterJoin, zipByKey, zipByKeyWith, ...Seq
: intersperse, replaced, splitBy, ...
This module is community-maintained. If you are interested in participating, please jump right in on issues and pull requests.
scala-collection-contrib's merge policy is liberal: we're happy to merge most things here, without too much review, so that people can try them out.
There is now (since 2020) the scala-library-next repo, which is where we decide what will actually be added to the next version of the Scala standard library. The standards for merging things there are much more conservative.