1 队列 Queue-基本介绍

队列的说明

1)队列是一个有序列表,在底层可以用数组或是链表来实现。

2)其输入和输出要遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出

3)在Scala中,由设计者直接给我们提供队列类型使用。

4)在scala中, 有 scala.collection.mutable.Queue 和 scala.collection.immutable.Queue , 一般来说,我们在开发中通常使用可变集合中的队列。

2 队列 Queue-队列元素的追加数据

向队列中追加单个元素和List

val q1 = new Queue[Int]
q1 += 20 // 底层?
println(q1) q1 ++= List(2,4,6) //
println(q1) //q1 += List(1,2,3) //泛型为Any才ok
println(q1)
//补充操作符重载...
val cat = new Cat
println(cat.age)
cat += 9
println(cat.age)
class Cat {
var age: Int = 10
def +=(n:Int): Unit = {
this.age += n
println("xxx")
}
}

3  队列 Queue-删除和加入队列元素

按照进入队列的顺序删除元素(队列先进先出)

val q1 = new mutable.Queue[Int]//
q1 += 12
q1 += 34
q1 ++= List(2,9)
q1.dequeue() //队列头
println(q1)
q1.enqueue(20,60) //队列位
println(q1)

4  队列 Queue-给队列添加元素

说明

按照队列的算法,会将数据添加到队列的最后。

应用案例

q1.enqueue(9, 8, 7)

println(q1)

5 队列 Queue-返回队列的元素

返回队列的第一个元素

println(q1.head)

返回队列最后一个元素

println(q1.last)

返回队列的尾部

即:返回除了第一个以外剩余的元素, 可以级联使用,这个在递归时使用较多。

println(q1.tail)

println(q1.tail.tail)

最新文章

  1. Java基本数据类型总结
  2. repo 修改邮箱地址
  3. Web APi之手动实现JSONP或安装配置Cors跨域(七)
  4. jira的使用
  5. 关于ubuntu16.4 中安装最新的eclipse或者是STS出现页面特卡,且新建项目没有提示,preference选项中点击左侧标签右侧没反应的解决办法,参照google, 排版不太好,希望对一些小伙伴有所帮助
  6. SqlServer链接MySql操作步骤
  7. win平台检查内存泄露
  8. java入门第三步之数据库连接【转】
  9. C#调用SSIS包及读取DataReader目标
  10. poj 3278 Catch That Cow 优化深搜
  11. 为mapcontrol中的图层设置透明度
  12. globalfifo设备驱动
  13. Threading
  14. Python 模块功能paramiko SSH 远程执行及远程下载
  15. sed与正则用法收集
  16. java基础,集合,Arraylist,源码解析(基础)
  17. TensorLayer官方中文文档1.7.4:API – 可视化
  18. kafka HA
  19. .NET Core TDD 前传: 编写易于测试的代码 -- 单一职责
  20. Python _内置函数3_45

热门文章

  1. js实现点击切换checkbox背景图片
  2. Laravel中Homestead添加多站点时遇到问题
  3. Nice Jquery Validator 自定义规则
  4. VMWare12安装CentOS7操作系统并搭建GitLab环境【1】
  5. ZooKeeper使用入门
  6. 在tp5.1中获取所有控制器的文件名和所有控制器下的方法名
  7. opencv3.1.0 计算机中丢失 opencv_world310d.dll _vs2017解决方法
  8. go 项目目录结构
  9. cc26a_demo-CppPrimer_动态绑定_多态-代码示范
  10. 腾讯云Redis混合存储版重磅推出,万字长文助你破解缓存难题!