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
Here is the full Scaladoc.
New collection types
These collections are in the
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:
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.
See also: scala-library-next
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 (as of October 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.