CollectionConverters
This object contains methods that convert between Scala and Java collections.
The explicit conversion methods defined here are intended to be used in Java code. For Scala code, it is recommended to use the extension methods defined in scala.jdk.CollectionConverters.
Note: to create Java Streams that operate on Scala collections (sequentially or in parallel), use StreamConverters.
// Java Code
import scala.jdk.javaapi.CollectionConverters;
public class A {
public void t(scala.collection.immutable.List<String> l) {
java.util.List<String> jl = CollectionConverters.asJava(l);
}
}
The conversions return adapters for the corresponding API, i.e., the collections are wrapped, not converted. Changes to the original collection are reflected in the view, and vice versa.
The following conversions are supported via asScala
and asJava
:
scala.collection.Iterable <=> java.lang.Iterable
scala.collection.Iterator <=> java.util.Iterator
scala.collection.mutable.Buffer <=> java.util.List
scala.collection.mutable.Set <=> java.util.Set
scala.collection.mutable.Map <=> java.util.Map
scala.collection.concurrent.Map <=> java.util.concurrent.ConcurrentMap
The following conversions are supported via asScala
and through
specially-named methods to convert to Java collections, as shown:
scala.collection.Iterable <=> java.util.Collection (via asJavaCollection)
scala.collection.Iterator <=> java.util.Enumeration (via asJavaEnumeration)
scala.collection.mutable.Map <=> java.util.Dictionary (via asJavaDictionary)
In addition, the following one-way conversions are provided via asJava
:
scala.collection.Seq => java.util.List
scala.collection.mutable.Seq => java.util.List
scala.collection.Set => java.util.Set
scala.collection.Map => java.util.Map
The following one way conversion is provided via asScala
:
java.util.Properties => scala.collection.mutable.Map
In all cases, converting from a source type to a target type and back again will return the original source object.
- Source:
- CollectionConverters.scala
Value members
Inherited methods
Converts a Scala mutable concurrent.Map
to a Java ConcurrentMap
.
Converts a Scala mutable concurrent.Map
to a Java ConcurrentMap
.
The returned Java ConcurrentMap
is backed by the provided Scala concurrent.Map
and any
side-effects of using it via the Java interface will be visible via the Scala interface and
vice versa.
If the Scala concurrent.Map
was previously obtained from an implicit or explicit call of
asScala
then the original Java ConcurrentMap
will be returned.
- Value parameters:
- m
The Scala
concurrent.Map
to be converted.
- Returns:
A Java
ConcurrentMap
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala Map
to a Java Map
.
Converts a Scala Map
to a Java Map
.
The returned Java Map
is backed by the provided Scala Map
and any side-effects of using it
via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Map
was previously obtained from an implicit or explicit call of
asScala
then the original Java Map
will be returned.
- Value parameters:
- m
The Scala
Map
to be converted.
- Returns:
A Java
Map
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala mutable Map
to a Java Map
.
Converts a Scala mutable Map
to a Java Map
.
The returned Java Map
is backed by the provided Scala Map
and any side-effects of using it
via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Map
was previously obtained from an implicit or explicit call of
asScala
then the original Java Map
will be returned.
- Value parameters:
- m
The Scala mutable
Map
to be converted.
- Returns:
A Java
Map
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala Set
to a Java Set
.
Converts a Scala Set
to a Java Set
.
The returned Java Set
is backed by the provided Scala Set
and any side-effects of using it
via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Set
was previously obtained from an implicit or explicit call of
asScala
then the original Java Set
will be returned.
- Value parameters:
- s
The Scala
Set
to be converted.
- Returns:
A Java
Set
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala mutable Set
to a Java Set
.
Converts a Scala mutable Set
to a Java Set
.
The returned Java Set
is backed by the provided Scala Set
and any side-effects of using it
via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Set
was previously obtained from an implicit or explicit call of
asScala
then the original Java Set
will be returned.
- Value parameters:
- s
The Scala mutable
Set
to be converted.
- Returns:
A Java
Set
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala Seq
to a Java List
.
Converts a Scala Seq
to a Java List
.
The returned Java List
is backed by the provided Scala Seq
and any side-effects of using it
via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Seq
was previously obtained from an implicit or explicit call of
asScala
then the original Java List
will be returned.
- Value parameters:
- s
The Scala
Seq
to be converted.
- Returns:
A Java
List
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala mutable Seq
to a Java List
.
Converts a Scala mutable Seq
to a Java List
.
The returned Java List
is backed by the provided Scala Seq
and any side-effects of using it
via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Seq
was previously obtained from an implicit or explicit call of
asScala
then the original Java List
will be returned.
- Value parameters:
- s
The Scala
Seq
to be converted.
- Returns:
A Java
List
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala mutable Buffer
to a Java List.
Converts a Scala mutable Buffer
to a Java List.
The returned Java List is backed by the provided Scala Buffer
and any side-effects of using
it via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Buffer
was previously obtained from an implicit or explicit call of
asScala
then the original Java List
will be returned.
- Value parameters:
- b
The Scala
Buffer
to be converted.
- Returns:
A Java
List
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala Iterable
to a Java Iterable
.
Converts a Scala Iterable
to a Java Iterable
.
The returned Java Iterable
is backed by the provided Scala Iterable
and any side-effects of
using it via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Iterable
was previously obtained from an implicit or explicit call of
asScala
then the original Java Iterable
will be returned.
- Value parameters:
- i
The Scala
Iterable
to be converted.
- Returns:
A Java
Iterable
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala Iterator
to a Java Iterator
.
Converts a Scala Iterator
to a Java Iterator
.
The returned Java Iterator
is backed by the provided Scala Iterator
and any side-effects of
using it via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Iterator
was previously obtained from an implicit or explicit call of
asScala
then the original Java Iterator
will be returned.
- Value parameters:
- i
The Scala
Iterator
to be converted.
- Returns:
A Java
Iterator
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala Iterable
to an immutable Java Collection
.
Converts a Scala Iterable
to an immutable Java Collection
.
If the Scala Iterable
was previously obtained from an implicit or explicit call of
asScala
then the original Java Collection
will be returned.
- Value parameters:
- i
The Scala
Iterable
to be converted.
- Returns:
A Java
Collection
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala mutable Map
to a Java Dictionary
.
Converts a Scala mutable Map
to a Java Dictionary
.
The returned Java Dictionary
is backed by the provided Scala Dictionary
and any
side-effects of using it via the Java interface will be visible via the Scala interface and
vice versa.
If the Scala Map
was previously obtained from an implicit or explicit call of
asScala
then the original Java Dictionary
will be returned.
- Value parameters:
- m
The Scala
Map
to be converted.
- Returns:
A Java
Dictionary
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Scala Iterator
to a Java Enumeration
.
Converts a Scala Iterator
to a Java Enumeration
.
The returned Java Enumeration
is backed by the provided Scala Iterator
and any side-effects
of using it via the Java interface will be visible via the Scala interface and vice versa.
If the Scala Iterator
was previously obtained from an implicit or explicit call of
asScala
then the original Java Enumeration
will be returned.
- Value parameters:
- i
The Scala
Iterator
to be converted.
- Returns:
A Java
Enumeration
view of the argument.- Inherited from:
- AsJavaConverters
- Source:
- AsJavaConverters.scala
Converts a Java Properties
to a Scala mutable Map[String, String]
.
Converts a Java Properties
to a Scala mutable Map[String, String]
.
The returned Scala Map[String, String]
is backed by the provided Java Properties
and any
side-effects of using it via the Scala interface will be visible via the Java interface and
vice versa.
- Value parameters:
- p
The Java
Properties
to be converted.
- Returns:
A Scala mutable
Map[String, String]
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala
Converts a Java Dictionary
to a Scala mutable Map
.
Converts a Java Dictionary
to a Scala mutable Map
.
The returned Scala Map
is backed by the provided Java Dictionary
and any side-effects of
using it via the Scala interface will be visible via the Java interface and vice versa.
If the Java Dictionary
was previously obtained from an implicit or explicit call of
asJavaDictionary
then the original Scala Map
will be returned.
- Value parameters:
- d
The Java
Dictionary
to be converted.
- Returns:
A Scala mutable
Map
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala
Converts a Java ConcurrentMap
to a Scala mutable ConcurrentMap
.
Converts a Java ConcurrentMap
to a Scala mutable ConcurrentMap
.
The returned Scala ConcurrentMap
is backed by the provided Java ConcurrentMap
and any
side-effects of using it via the Scala interface will be visible via the Java interface and
vice versa.
If the Java ConcurrentMap
was previously obtained from an implicit or explicit call of
asJava
then the original Scala ConcurrentMap
will be returned.
- Value parameters:
- m
The Java
ConcurrentMap
to be converted.
- Returns:
A Scala mutable
ConcurrentMap
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala
Converts a Java Map
to a Scala mutable Map
.
Converts a Java Map
to a Scala mutable Map
.
The returned Scala Map
is backed by the provided Java Map
and any side-effects of using it
via the Scala interface will be visible via the Java interface and vice versa.
If the Java Map
was previously obtained from an implicit or explicit call of
asJava
then the original Scala Map
will be returned.
If the wrapped map is synchronized (e.g. from java.util.Collections.synchronizedMap
), it is
your responsibility to wrap all non-atomic operations with underlying.synchronized
.
This includes get
, as java.util.Map
's API does not allow for an atomic get
when null
values may be present.
- Value parameters:
- m
The Java
Map
to be converted.
- Returns:
A Scala mutable
Map
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala
Converts a Java Set
to a Scala mutable Set
.
Converts a Java Set
to a Scala mutable Set
.
The returned Scala Set
is backed by the provided Java Set
and any side-effects of using it
via the Scala interface will be visible via the Java interface and vice versa.
If the Java Set
was previously obtained from an implicit or explicit call of
asJava
then the original Scala Set
will be returned.
- Value parameters:
- s
The Java
Set
to be converted.
- Returns:
A Scala mutable
Set
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala
Converts a Java List
to a Scala mutable Buffer
.
Converts a Java List
to a Scala mutable Buffer
.
The returned Scala Buffer
is backed by the provided Java List
and any side-effects of using
it via the Scala interface will be visible via the Java interface and vice versa.
If the Java List
was previously obtained from an implicit or explicit call of
asJava
then the original Scala Buffer
will be returned.
- Value parameters:
- l
The Java
List
to be converted.
- Returns:
A Scala mutable
Buffer
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala
Converts a Java Collection
to a Scala Iterable
.
Converts a Java Collection
to a Scala Iterable
.
If the Java Collection
was previously obtained from an implicit or explicit call of
asJavaCollection
then the original Scala Iterable
will be returned.
- Value parameters:
- c
The Java
Collection
to be converted.
- Returns:
A Scala
Iterable
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala
Converts a Java Iterable
to a Scala Iterable
.
Converts a Java Iterable
to a Scala Iterable
.
The returned Scala Iterable
is backed by the provided Java Iterable
and any side-effects of
using it via the Scala interface will be visible via the Java interface and vice versa.
If the Java Iterable
was previously obtained from an implicit or explicit call of
asJava
then the original Scala Iterable
will be returned.
- Value parameters:
- i
The Java
Iterable
to be converted.
- Returns:
A Scala
Iterable
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala
Converts a Java Enumeration
to a Scala Iterator
.
Converts a Java Enumeration
to a Scala Iterator
.
The returned Scala Iterator
is backed by the provided Java Enumeration
and any side-effects
of using it via the Scala interface will be visible via the Java interface and vice versa.
If the Java Enumeration
was previously obtained from an implicit or explicit call of
asJavaEnumeration
then the original Scala Iterator
will be returned.
- Value parameters:
- e
The Java
Enumeration
to be converted.
- Returns:
A Scala
Iterator
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala
Converts a Java Iterator
to a Scala Iterator
.
Converts a Java Iterator
to a Scala Iterator
.
The returned Scala Iterator
is backed by the provided Java Iterator
and any side-effects of
using it via the Scala interface will be visible via the Java interface and vice versa.
If the Java Iterator
was previously obtained from an implicit or explicit call of
asJava
then the original Scala Iterator
will be returned.
- Value parameters:
- i
The Java
Iterator
to be converted.
- Returns:
A Scala
Iterator
view of the argument.- Inherited from:
- AsScalaConverters
- Source:
- AsScalaConverters.scala