将Seq或List转换为collection.immutable.Queue

时间:2014-03-20 11:19:54

标签: scala collections

我想知道,如果在Scala中将序列转换为不可变的队列有标准和简短的方法吗?

我没有在文档中找到一种神奇的方法。

现在我这样做:

def toQueue[A](s: Seq[A]): Queue[A] = s match {
    case x +: xs => x +: toQueue(xs)
    case _ => Queue.empty[A]
}                                         

但还有什么更方便吗?

3 个答案:

答案 0 :(得分:20)

为什么不使用s: _*

val s = List(1, 2, 3) // or Seq(1, 2, 3), as you wish
val queue = scala.collection.immutable.Queue(s: _*)

答案 1 :(得分:1)

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))
}

答案 2 :(得分:0)

通过.to(factory)所应用的工厂建造者来开始package.json

"dependencies": {
"@angular/animations": "^8.0.3",
"@angular/common": "^8.0.3",
"@angular/compiler": "^8.0.3",
"@angular/core": "^8.0.3",
"@angular/forms": "^8.0.3",
"@angular/platform-browser": "^8.0.3",
"@angular/platform-browser-dynamic": "^8.0.3",
"@angular/router": "^8.0.3",
"@angular/service-worker": "^8.0.3",
"@fortawesome/fontawesome-free": "^5.1.0",
"@types/bootstrap": "^3.3.36",
"@types/dropzone": "^5.0.6",
"@types/file-saver": "0.0.1",
"@types/jquery": "^2.0.48",
"@types/jquery.blockui": "0.0.27",
"@types/lodash": "^4.14.82",
"@types/moment": "^2.13.0",
"@types/moment-timezone": "^0.2.35",
"@types/signalr": "^2.2.35",
"@types/toastr": "^2.1.35",
"abp-ng2-module": "^4.0.0",
"abp-web-resources": "^3.8.5",
"ace-builds": "^1.4.5",
"angular2-hotkeys": "^2.1.4",
"angular2-query-builder": "^0.4.2",
"block-ui": "^2.70.1",
"bootstrap": "^3.3.7",
"bootswatch": "^3.3.7",
"chart.js": "^2.7.2",
"core-js": "^2.5.1",
"file-saver": "^1.3.3",
"install": "^0.12.2",
"jquery": "^3.4.1",
"jquery-migrate": "^3.0.1",
"js-cookie": "^2.1.4",
"lodash": "^4.17.11",
"moment": "^2.20.1",
"moment-timezone": "^0.5.13",
"ng2-ace-editor": "^0.3.9",
"ngx-bootstrap": "^1.9.3",
"ngx-clipboard": "^12.1.2",
"ngx-device-detector": "^1.3.7",
"ngx-vis": "0.1.0",
"ngx-window-token": "0.0.4",
"nswag": "^13.0.3",
"primeng": "^4.3.0",
"push.js": "0.0.12",
"restore": "^0.3.0",
"rxjs": "^6.5.2",
"rxjs-compat": "6.5.2",
"signalr": "^2.2.2",
"simple-line-icons": "^2.4.1",
"spin.js": "^2.3.2",
"sweetalert": "^1.1.3",
"toastr": "^2.1.4",
"ts-helpers": "^1.1.2",
"tslib": "^1.9.0",
"tslint": "^5.18.0",
"typescript": "3.4.5",
"typescript-string-operations": "^1.2.4",
"update": "^0.7.4",
"xlsx": "0.10.8",
"zone.js": "~0.9.1"
 },
"devDependencies": {
  "@angular-devkit/build-angular": "~0.800.6",
  "@angular/cli": "~8.0.6",
  "@angular/compiler-cli": "~8.0.3",
  "@angularclass/hmr": "^1.2.2",
  "@angular/language-service": "~7.0.0",
  "angular2-dropzone-wrapper":"^2.0.3",
  "@types/jasminewd2": "~2.0.3",
  "@types/node": "~8.9.4",
  "@types/jasmine": "^2.5.53",
  "codelyzer": "^5.0.1",
  "install-peers": "^1.0.3",
  "jasmine-core": "^2.7.0",
  "jasmine-spec-reporter": "^3.2.0",
   "karma": "^2.0.3",
  "karma-chrome-launcher": "^2.2.0",
  "karma-cli": "^1.0.1",
  "karma-coverage-istanbul-reporter": "^0.2.3",
  "karma-jasmine": "^1.1.0",
  "karma-jasmine-html-reporter": "^0.2.2",
  "protractor": "^5.3.2",
  "ts-node": "^7.0.0",
  "tslint": "^5.18.0",
  "typescript": "3.4.5"
 }

Scala 2.13之前并以List(1, 2, 3).to(collection.immutable.Queue) // collection.immutable.Queue[Int] = Queue(1, 2, 3) 开头:

Scala 2.13