I wonder, if there is a standard and short way to convert Sequence to immutable Queue in Scala?
I did not find a magic method in documentation.
Right now I'm doing it like this:
def toQueue[A](s: Seq[A]): Queue[A] = s match {
case x +: xs => x +: toQueue(xs)
case _ => Queue.empty[A]
}
But is there anything more convenient?
Starting Scala 2.13
, via factory builders applied with .to(factory)
:
List(1, 2, 3).to(collection.immutable.Queue)
// collection.immutable.Queue[Int] = Queue(1, 2, 3)
Prior to Scala 2.13
and starting Scala 2.10
:
List(1, 2, 3).to[collection.immutable.Queue]
// collection.immutable.Queue[Int] = Queue(1, 2, 3)
Why not use s: _*
?
val s = List(1, 2, 3) // or Seq(1, 2, 3), as you wish
val queue = scala.collection.immutable.Queue(s: _*)
var s=new scala.collection.mutable.Queue[Any];
var li:List[Any]=List(1,'a',"bing",4,7,9,'j');
for(i<-0 to li.length-1)
{
s.+=(li(i))
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With