队列和并行集合
1. 队列
Scala也提供了队列(Queue)的数据结构,队列的特点就是先进先出。进队和出队的方法分别为enqueue和dequeue。
scala
def main(args: Array[String]): Unit = {
val queue = new mutable.Queue[String]()
// 添加元素
queue.enqueue("a", "b", "c")
val que1 : mutable.Queue[String] = queue += "d"
println((queue eq que1))
// 取出元素
println(que1.dequeue())
println(que1.dequeue())
println(que1.dequeue())
}
运行结果:
2. 并行
Scala为了充分使用多核CPU,提供了并行集合(有别于前面的串行集合),用于多核环境的并行计算。
scala
def main(args: Array[String]): Unit = {
// 获取map时候的线程名称
val result1 = (0 to 10).map { _ =>
Thread.currentThread.getName
}
// 使用par方法可以将普通集合转换成并行集合
val result2 = (0 to 10).par.map { _ =>
Thread.currentThread.getName
}
// 打印线程名称
println(result1)
println("**********************")
println(result2)
}
运行结果: