How can I use for an understanding that returns something that I can assign to an ordered map? This is a simplification of the code that I have:
class Bar
class Foo(val name: String, val bar: Bar)
val myList: java.util.List[Foo] = ...
val result: ListMap[String, Bar] =
for {
foo <- myList
} yield (foo.name, foo.bar)
I need to make sure that my result is an ordered Map, in the root layout order due to understanding.
With the above, I get an error:
error: type mismatch;
found : scala.collection.mutable.Buffer[(String,Bar)]
required: scala.collection.immutable.ListMap[String,Bar]
foo <- myList
This compiles:
class Bar
class Foo(val name: String, val bar: Bar)
val myList: java.util.List[Foo] = ...
val result: Predef.Map[String, Bar] =
{
for {
foo <- myList
} yield (foo.name, foo.bar)
} toMap
but then I assume that the map will not be ordered, and I need an explicit call toMap.
How can i achieve this?
source
share