59_Scala 中的 Queue

1. mutable.Queue API

object ScalaQueue extends App {

  //创建 mutable 队列
  var queue: mutable.Queue[String] = mutable.Queue[String]()

  //入队-添加 单个或 多个元素
  private val unit: Unit = queue.enqueue("赵", "钱", "孙", "李", "周")

  //入队-添加 单个元素
  queue += "吴"

  //出队-返回 队列中第一个元素,并从队列中将其删除
  private val e: String = queue.dequeue()
  println(s"${e}: 出队了")

  //出队-返回 队列中第一个满足条件的元素,并从队列中将其删除
  private val e1: Option[String] = queue.dequeueFirst(_ == "孙")
  println(s"${e1.getOrElse("未知")}: 出队了")

  //出队-返回 队列中所有满足条件元素,并从队列中将其删除
  private val elist: mutable.Seq[String] = queue.dequeueAll(
    {
      case "李" => true
      case "周" => true
      case _ => false
    }
  )

  println(s"${elist.mkString(",")}: 出队了")

  //查看-队首元素(空队列时则报错)
  private val front: String = queue.front
  println(s"队首元素:${front}")

  //查看-队尾元素
  private val tail: mutable.Queue[String] = queue.tail
  println(s"队尾元素:${tail}")

  //复制队列
  var queueBak = queue.clone()

  println(queue.mkString(","))


}

 

posted @ 2022-07-18 16:07  学而不思则罔!  阅读(98)  评论(0)    收藏  举报