scala.collection

# JavaConverters

#### object JavaConverters extends DecorateAsJava with DecorateAsScala

A collection of decorators that allow converting between Scala and Java collections using `asScala` and `asJava` methods.

The following conversions are supported via `asJava`, `asScala`

- `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.mutable.concurrent.Map` <=> `java.util.concurrent.ConcurrentMap`

In all cases, converting from a source type to a target type and back again will return the original source object, e.g.

    import scala.collection.JavaConverters._

    val sl = new scala.collection.mutable.ListBuffer[Int]
    val jl : java.util.List[Int] = sl.asJava
    val sl2 : scala.collection.mutable.Buffer[Int] = jl.asScala
    assert(sl eq sl2)

The following conversions also are supported, but the direction Scala to Java is done my a more specifically named method: `asJavaCollection`, `asJavaEnumeration`, `asJavaDictionary`.

- `scala.collection.Iterable` <=> `java.util.Collection`
- `scala.collection.Iterator` <=> `java.util.Enumeration`
- `scala.collection.mutable.Map` <=> `java.util.Dictionary`

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`

Source
  JavaConverters.scala
Since

  2.8.1

Linear Supertypes
DecorateAsScala, DecorateAsJava, AnyRef, Any
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. JavaConverters
2. DecorateAsScala
3. DecorateAsJava
4. AnyRef
5. Any

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

4. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

5. #### implicit def asJavaCollectionConverter[A](i: Iterable[A]): convert.Decorators.AsJavaCollection[A]

   Adds an `asJavaCollection` method that implicitly converts a Scala `Iterable` to an immutable Java `Collection`.

   Adds an `asJavaCollection` method that implicitly converts a Scala `Iterable` to an immutable Java `Collection`.

   If the Scala `Iterable` was previously obtained from an implicit or explicit call of `asSizedIterable(java.util.Collection)` then the original Java `Collection` will be returned.

   i

     The `SizedIterable` to be converted.

   returns

     An object with an `asJava` method that returns a Java `Collection` view of the argument.

   Definition Classes
     DecorateAsJava

6. #### implicit def asJavaDictionaryConverter[A, B](m: mutable.Map[A, B]): convert.Decorators.AsJavaDictionary[A, B]

   Adds an `asJavaDictionary` method that implicitly converts a Scala mutable `Map` to a Java `Dictionary`.

   Adds an `asJavaDictionary` method that implicitly 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 `Dictionary` was previously obtained from an implicit or explicit call of `asMap(java.util.Dictionary)` then the original Java `Dictionary` will be returned.

   m

     The `Map` to be converted.

   returns

     An object with an `asJavaDictionary` method that returns a Java `Dictionary` view of the argument.

   Definition Classes
     DecorateAsJava

7. #### implicit def asJavaEnumerationConverter[A](i: Iterator[A]): convert.Decorators.AsJavaEnumeration[A]

   Adds an `asJavaEnumeration` method that implicitly converts a Scala `Iterator` to a Java `Enumeration`.

   Adds an `asJavaEnumeration` method that implicitly 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 `asIterator(java.util.Enumeration)` then the original Java `Enumeration` will be returned.

   i

     The `Iterator` to be converted.

   returns

     An object with an `asJavaEnumeration` method that returns a Java `Enumeration` view of the argument.

   Definition Classes
     DecorateAsJava

8. #### implicit def asJavaIterableConverter[A](i: Iterable[A]): convert.Decorators.AsJava[java.lang.Iterable[A]]

   Adds an `asJava` method that implicitly converts a Scala `Iterable` to a Java `Iterable`.

   Adds an `asJava` method that implicitly 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 `asIterable(java.lang.Iterable)` then the original Java `Iterable` will be returned.

   i

     The `Iterable` to be converted.

   returns

     An object with an `asJavaCollection` method that returns a Java `Iterable` view of the argument.

   Definition Classes
     DecorateAsJava

9. #### implicit def asJavaIteratorConverter[A](i: Iterator[A]): convert.Decorators.AsJava[java.util.Iterator[A]]

   Adds an `asJava` method that implicitly converts a Scala `Iterator` to a Java `Iterator`.

   Adds an `asJava` method that implicitly 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 `asIterator(java.util.Iterator)` then the original Java `Iterator` will be returned by the `asJava` method.

   i

     The `Iterator` to be converted.

   returns

     An object with an `asJava` method that returns a Java `Iterator` view of the argument.

   Definition Classes
     DecorateAsJava

10. #### implicit def asScalaBufferConverter[A](l: java.util.List[A]): convert.Decorators.AsScala[Buffer[A]]

    Adds an `asScala` method that implicitly converts a Java `List` to a Scala mutable `Buffer`.

    Adds an `asScala` method that implicitly 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 `asList(scala.collection.mutable.Buffer)` then the original Scala `Buffer` will be returned.

    l

      The `List` to be converted.

    returns

      An object with an `asScala` method that returns a Scala mutable `Buffer` view of the argument.

    Definition Classes
      DecorateAsScala

11. #### implicit def asScalaIteratorConverter[A](i: java.util.Iterator[A]): convert.Decorators.AsScala[Iterator[A]]

    Adds an `asScala` method that implicitly converts a Java `Iterator` to a Scala `Iterator`.

    Adds an `asScala` method that implicitly 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 `asIterator(scala.collection.Iterator)` then the original Scala `Iterator` will be returned.

    i

      The `Iterator` to be converted.

    returns

      An object with an `asScala` method that returns a Scala `Iterator` view of the argument.

    Definition Classes
      DecorateAsScala

12. #### implicit def asScalaSetConverter[A](s: java.util.Set[A]): convert.Decorators.AsScala[mutable.Set[A]]

    Adds an `asScala` method that implicitly converts a Java `Set` to a Scala mutable `Set`.

    Adds an `asScala` method that implicitly 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 `asSet(scala.collection.mutable.Set)` then the original Scala `Set` will be returned.

    s

      The `Set` to be converted.

    returns

      An object with an `asScala` method that returns a Scala mutable `Set` view of the argument.

    Definition Classes
      DecorateAsScala

13. #### implicit def bufferAsJavaListConverter[A](b: Buffer[A]): convert.Decorators.AsJava[java.util.List[A]]

    Adds an `asJava` method that implicitly converts a Scala mutable `Buffer` to a Java `List`.

    Adds an `asJava` method that implicitly 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 `asBuffer(java.util.List)` then the original Java `List` will be returned.

    b

      The `Buffer` to be converted.

    returns

      An object with an `asJava` method that returns a Java `List` view of the argument.

    Definition Classes
      DecorateAsJava

14. #### def clone(): AnyRef

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

15. #### implicit def collectionAsScalaIterableConverter[A](i: Collection[A]): convert.Decorators.AsScala[Iterable[A]]

    Adds an `asScala` method that implicitly converts a Java `Collection` to an Scala `Iterable`.

    Adds an `asScala` method that implicitly converts a Java `Collection` to an Scala `Iterable`.

    If the Java `Collection` was previously obtained from an implicit or explicit call of `asCollection(scala.collection.SizedIterable)` then the original Scala `SizedIterable` will be returned.

    i

      The `Collection` to be converted.

    returns

      An object with an `asScala` method that returns a Scala `SizedIterable` view of the argument.

    Definition Classes
      DecorateAsScala

16. #### implicit def dictionaryAsScalaMapConverter[A, B](p: Dictionary[A, B]): convert.Decorators.AsScala[mutable.Map[A, B]]

    Adds an `asScala` method that implicitly converts a Java `Dictionary` to a Scala mutable `Map[String, String]`.

    Adds an `asScala` method that implicitly converts a Java `Dictionary` to a Scala mutable `Map[String, String]`. The returned Scala `Map[String, String]` 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.

    p

      The `Dictionary` to be converted.

    returns

      An object with an `asScala` method that returns a Scala mutable `Map[String, String]` view of the argument.

    Definition Classes
      DecorateAsScala

17. #### implicit def enumerationAsScalaIteratorConverter[A](i: java.util.Enumeration[A]): convert.Decorators.AsScala[Iterator[A]]

    Adds an `asScala` method that implicitly converts a Java `Enumeration` to a Scala `Iterator`.

    Adds an `asScala` method that implicitly 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 `asEnumeration(scala.collection.Iterator)` then the original Scala `Iterator` will be returned.

    i

      The `Enumeration` to be converted.

    returns

      An object with an `asScala` method that returns a Scala `Iterator` view of the argument.

    Definition Classes
      DecorateAsScala

18. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

19. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

20. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

21. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

22. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

23. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

24. #### implicit def iterableAsScalaIterableConverter[A](i: java.lang.Iterable[A]): convert.Decorators.AsScala[Iterable[A]]

    Adds an `asScala` method that implicitly converts a Java `Iterable` to a Scala `Iterable`.

    Adds an `asScala` method that implicitly 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 `asIterable(scala.collection.Iterable)` then the original Scala `Iterable` will be returned.

    i

      The `Iterable` to be converted.

    returns

      An object with an `asScala` method that returns a Scala `Iterable` view of the argument.

    Definition Classes
      DecorateAsScala

25. #### implicit def mapAsJavaConcurrentMapConverter[A, B](m: concurrent.Map[A, B]): convert.Decorators.AsJava[ConcurrentMap[A, B]]

    Adds an `asJava` method that implicitly converts a Scala mutable `concurrent.Map` to a Java `ConcurrentMap`.

    Adds an `asJava` method that implicitly 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 `asConcurrentMap(java.util.concurrent.ConcurrentMap)` then the original Java `ConcurrentMap` will be returned.

    m

      The Scala `concurrent.Map` to be converted.

    returns

      An object with an `asJava` method that returns a Java `ConcurrentMap` view of the argument.

    Definition Classes
      DecorateAsJava

26. #### implicit def mapAsJavaMapConverter[A, B](m: Map[A, B]): convert.Decorators.AsJava[java.util.Map[A, B]]

    Adds an `asJava` method that implicitly converts a Scala `Map` to a Java `Map`.

    Adds an `asJava` method that implicitly 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 `asMap(java.util.Map)` then the original Java `Map` will be returned.

    m

      The `Map` to be converted.

    returns

      An object with an `asJava` method that returns a Java `Map` view of the argument.

    Definition Classes
      DecorateAsJava

27. #### implicit def mapAsScalaConcurrentMapConverter[A, B](m: ConcurrentMap[A, B]): convert.Decorators.AsScala[concurrent.Map[A, B]]

    Adds an `asScala` method that implicitly converts a Java `ConcurrentMap` to a Scala mutable `concurrent.Map`.

    Adds an `asScala` method that implicitly converts a Java `ConcurrentMap` to a Scala mutable `concurrent.Map`. The returned Scala `concurrent.Map` 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 `mapAsScalaConcurrentMap(scala.collection.mutable.ConcurrentMap)` then the original Scala `concurrent.Map` will be returned.

    m

      The `ConcurrentMap` to be converted.

    returns

      An object with an `asScala` method that returns a Scala mutable `concurrent.Map` view of the argument.

    Definition Classes
      DecorateAsScala

28. #### implicit def mapAsScalaMapConverter[A, B](m: java.util.Map[A, B]): convert.Decorators.AsScala[mutable.Map[A, B]]

    Adds an `asScala` method that implicitly converts a Java `Map` to a Scala mutable `Map`.

    Adds an `asScala` method that implicitly 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 `asMap(scala.collection.mutable.Map)` 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.

    m

      The `Map` to be converted.

    returns

      An object with an `asScala` method that returns a Scala mutable `Map` view of the argument.

    Definition Classes
      DecorateAsScala

29. #### implicit def mutableMapAsJavaMapConverter[A, B](m: mutable.Map[A, B]): convert.Decorators.AsJava[java.util.Map[A, B]]

    Adds an `asJava` method that implicitly converts a Scala mutable `Map` to a Java `Map`.

    Adds an `asJava` method that implicitly 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 `asMap(java.util.Map)` then the original Java `Map` will be returned.

    m

      The `Map` to be converted.

    returns

      An object with an `asJava` method that returns a Java `Map` view of the argument.

    Definition Classes
      DecorateAsJava

30. #### implicit def mutableSeqAsJavaListConverter[A](b: mutable.Seq[A]): convert.Decorators.AsJava[java.util.List[A]]

    Adds an `asJava` method that implicitly converts a Scala mutable `Seq` to a Java `List`.

    Adds an `asJava` method that implicitly 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 `asSeq(java.util.List)` then the original Java `List` will be returned.

    b

      The `Seq` to be converted.

    returns

      An object with an `asJava` method that returns a Java `List` view of the argument.

    Definition Classes
      DecorateAsJava

31. #### implicit def mutableSetAsJavaSetConverter[A](s: mutable.Set[A]): convert.Decorators.AsJava[java.util.Set[A]]

    Adds an `asJava` method that implicitly converts a Scala mutable `Set`> to a Java `Set`.

    Adds an `asJava` method that implicitly 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 `asSet(java.util.Set)` then the original Java `Set` will be returned.

    s

      The `Set` to be converted.

    returns

      An object with an `asJava` method that returns a Java `Set` view of the argument.

    Definition Classes
      DecorateAsJava

32. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

33. #### final def notify(): Unit

    Definition Classes
      AnyRef

34. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

35. #### implicit def propertiesAsScalaMapConverter(p: Properties): convert.Decorators.AsScala[mutable.Map[String, String]]

    Adds an `asScala` method that implicitly converts a Java `Properties` to a Scala mutable `Map[String, String]`.

    Adds an `asScala` method that implicitly 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.

    p

      The `Properties` to be converted.

    returns

      An object with an `asScala` method that returns a Scala mutable `Map[String, String]` view of the argument.

    Definition Classes
      DecorateAsScala

36. #### implicit def seqAsJavaListConverter[A](b: Seq[A]): convert.Decorators.AsJava[java.util.List[A]]

    Adds an `asJava` method that implicitly converts a Scala `Seq` to a Java `List`.

    Adds an `asJava` method that implicitly 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 `asSeq(java.util.List)` then the original Java `List` will be returned.

    b

      The `Seq` to be converted.

    returns

      An object with an `asJava` method that returns a Java `List` view of the argument.

    Definition Classes
      DecorateAsJava

37. #### implicit def setAsJavaSetConverter[A](s: Set[A]): convert.Decorators.AsJava[java.util.Set[A]]

    Adds an `asJava` method that implicitly converts a Scala `Set` to a Java `Set`.

    Adds an `asJava` method that implicitly 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 `asSet(java.util.Set)` then the original Java `Set` will be returned.

    s

      The `Set` to be converted.

    returns

      An object with an `asJava` method that returns a Java `Set` view of the argument.

    Definition Classes
      DecorateAsJava

38. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

39. #### def toString(): String

    Definition Classes
      AnyRef → Any

40. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

41. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

42. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

### Inherited from DecorateAsScala

### Inherited from DecorateAsJava

### Inherited from AnyRef

### Inherited from Any

### Ungrouped