加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用scala immutable Queue的最佳实践

发布时间:2020-12-16 18:49:05 所属栏目:安全 来源:网络整理
导读:我想知道如何以最佳功能方式使用Queue. 例如,我想将元素出列并使用递归函数打印它们. 我想要最美丽的功能. 例如,这是一个按我想要的功能.但我不喜欢if. 他们是更好的使用队列的方法吗? import scala.collection.immutable.Queuedef printQ[A](p:Queue[A]) {
我想知道如何以最佳功能方式使用Queue.
例如,我想将元素出列并使用递归函数打印它们.
我想要最美丽的功能.

例如,这是一个按我想要的功能.但我不喜欢if.

他们是更好的使用队列的方法吗?

import scala.collection.immutable.Queue

def printQ[A](p:Queue[A]) {
  if(!p.isEmpty) {
    p.dequeue match { 
      case (x,xs) => 
        println(x.toString) 
        printQ(xs) 
      case _ => 
        println("End")    
    }
  }    
}

printQ(Queue(1,2,4,5))

谢谢你的回复.

解决方法

队列没有dequeueOption方法,这会使它更好一些.但请注意,您的比赛中的第一个条目是详尽无遗的;你无法达到println(“结束”)代码.所以你可以改进你的版本:

def printQ[A](p: Queue[A]) {
  if (!p.isEmpty) p.dequeue match {
    case (x,xs) =>
      println(x.toString)
      printQ(xs)
  }
}

当然,因为这只是按顺序遍历队列,所以总是可以

p.foreach(println)

打印出来的一切.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读