Scala之ListBuffer、ArrayBuffer、Queue及Stack介绍
2015-12-17 22:02
615 查看
1、代码
package com.yy.base
import scala.collection.immutable.Queue
object BufferQueueAndStackTest extends App {
//ListBuffer
import scala.collection.mutable.ListBuffer
val listBuffer = new ListBuffer[Int]
listBuffer += 1
listBuffer += 2
println(listBuffer)
//ArrayBuffer
import scala.collection.mutable.ArrayBuffer
val arrayBuffer = new ArrayBuffer[Int]()
arrayBuffer += 1
arrayBuffer += 2
println(arrayBuffer)
//不可变Queue
val queue1 = Queue[Int]()
//进队:一个元素
val queue2 = queue1.enqueue(1)
//进队:一个List
val queue3 = queue2.enqueue(List(2,3,4,5,6))
println(queue3)
//拆分成两个部分
val (element,rest) = queue3.dequeue
println(element+":"+ rest)
//可变Queue
import scala.collection.mutable.Queue
val queue_ = Queue[String]()
queue_ += "a"
queue_ ++= List("b","c")
println(queue_)
//返回第一个元素
println(queue_.dequeue())
//打印剩余元素
println(queue_)
//Stack:FIFO
import scala.collection.mutable.Stack
val stack = new Stack[Int]
stack.push(1)
stack.push(2)
stack.push(3)
println(stack.pop())
println(stack)
println(stack.pop())
println(stack)
}2、结果
ListBuffer(1, 2)
ArrayBuffer(1, 2)
Queue(1, 2, 3, 4, 5, 6)
1:Queue(2, 3, 4, 5, 6)
Queue(a, b, c)
a
Queue(b, c)
3
Stack(2, 1)
2
Stack(1)
package com.yy.base
import scala.collection.immutable.Queue
object BufferQueueAndStackTest extends App {
//ListBuffer
import scala.collection.mutable.ListBuffer
val listBuffer = new ListBuffer[Int]
listBuffer += 1
listBuffer += 2
println(listBuffer)
//ArrayBuffer
import scala.collection.mutable.ArrayBuffer
val arrayBuffer = new ArrayBuffer[Int]()
arrayBuffer += 1
arrayBuffer += 2
println(arrayBuffer)
//不可变Queue
val queue1 = Queue[Int]()
//进队:一个元素
val queue2 = queue1.enqueue(1)
//进队:一个List
val queue3 = queue2.enqueue(List(2,3,4,5,6))
println(queue3)
//拆分成两个部分
val (element,rest) = queue3.dequeue
println(element+":"+ rest)
//可变Queue
import scala.collection.mutable.Queue
val queue_ = Queue[String]()
queue_ += "a"
queue_ ++= List("b","c")
println(queue_)
//返回第一个元素
println(queue_.dequeue())
//打印剩余元素
println(queue_)
//Stack:FIFO
import scala.collection.mutable.Stack
val stack = new Stack[Int]
stack.push(1)
stack.push(2)
stack.push(3)
println(stack.pop())
println(stack)
println(stack.pop())
println(stack)
}2、结果
ListBuffer(1, 2)
ArrayBuffer(1, 2)
Queue(1, 2, 3, 4, 5, 6)
1:Queue(2, 3, 4, 5, 6)
Queue(a, b, c)
a
Queue(b, c)
3
Stack(2, 1)
2
Stack(1)
相关文章推荐
- day04 循环 随机值 break和continue 循环嵌套 while 循环 do while
- Duilib源码分析(六)整体流程
- 特殊权限:SUID、SGID、STICKY
- How to use kingshard building a MySQL cluster
- UI基础-MVC、通知
- leetcode Unique Binary Search Trees II 答案详解
- 黑马程序员_java基础_GUI
- Your build settings specify a provisioning profile with the UUID
- 基础控件之UILabel、UIButton、UITextField、UIAlertView、 UIImageView
- UNIX入门之常用头文件apue.h (附带去除文档空格的代码)
- UIColor,CGColor,CIColor三者 区别和联系
- UIScrollView的滚动,停止(UIScrollViewDelegate)
- Sequence Trigger
- UIView 视图切换
- UICollectionView自定义cell详解+demo
- [Leetcode]Longest Consecutive Sequence
- UILabel的缩放动画效果
- 理解 Android Build 系统
- 访问SAP时提示报错SAP GUI for Windows 720窗口
- k8s google sample - guestbook