一、队列
// 创建一个可变队列
val queue: mutable.Queue[String] = new mutable.Queue[String]()
//进队
queue.enqueue("a", "b", "c")
//出队,打印a
println(queue.dequeue())
// 不可变队列
val queue2: Queue[String] = Queue("a", "b", "c")
//再进队queue2本身并不会改变,而是返回一个新的队列
val queue3 = queue2.enqueue("d")
//出队queue2本身也不改变,而是返回一个二元组,
//其中第一个元素为出队值,第二个元素为剩余队列
val result: (String, Queue[String]) = queue2.dequeue
println(result)
println(queue2)
println(queue3)
二、并行集合
Scala 为了充分使用多核 CPU,提供了并行集合(有别于前面的串行集合),用于多核环境的并行计算。
object Test20_Parallel {
def main(args: Array[String]): Unit = {
val result: immutable.IndexedSeq[Long] = (1 to 100).map(
x => Thread.currentThread.getId
)
println(result)
//调用par对象的map方法,实现多线程计算
val result2: ParSeq[Long] = (1 to 100).par.map(
x => Thread.currentThread.getId
)
println(result2)
}
}