Queue 的创建和追加元素 | 学习笔记

简介: 快速学习 Queue 的创建和追加元素

开发者学堂课程【Scala 核心编程 - 进阶Queue 的创建和追加元素学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9036


Queue 的创建和追加元素


内容介绍:

一、Queue 队列的创建

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

三、补充说明有关重载的知识点

四、复习上节


一、Queue 队列的创建

1.格式:

import scala.collection.mutable

val q1 = new mutable.Queue[int]

print(q1)

2.说明:

这里的 int 是泛型,表示 q1 队列只能存放 int 类型

如果希望 q1 可以存放其他类型,则使用 Any 即可

3.实例:

import scala.collection.mutable  

//引入对应的包,才能进行入队列和删除队列的操作,否则只能进行查看队列头尾这种简单的操作

object QueneDemo01{

def main(args: Array[String]):Unit ={

val q1 = new mutable.Queue[int]

println(q1)

}

}

运行结果:

Queue()

Process finished with exit code 0


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

+= ++= 或者 +=list(int)来实现向队列中追加单个元素

1.案例演示:

第一种:

val q1 = new Queue[int]

q1 += 20    

//Queue 队列直接进行变化,直接加元素,底层增加

println(q1)

第二种:

q1++= List(2,4,6)  //将该队列中的集合打开直接向队列中放

println(q1)

第三种:

//q1+= List(1,2,3)

//将整个队列向 Queue 队列中放,也就是将 List(1,2,3) 当作一个//元素

//泛型为 Any 才可以

//println(q1)

2.代码实现:

import scala.collection.mutable

object QueneDemo01{

def main(args: Array[String]):Unit ={

val q1 = new mutable.Queue[int]

println(q1)

q1 +=9

println(“q1=”+q1)

q1++=List(4,5,7)  //加入队列的方式默认直接加在队列的后面

println(“q1=”+q1)

}

}

运行结果如下:

Queue()

Q1=Queue(9)

Q1=Queue(9,4,5,7)

Process finished with exit code 0

如果再加q1 +=List(10,0)在后面,如下

import scala.collection.mutable

object QueneDemo01{

def main(args: Array[String]):Unit ={

val q1 = new mutable.Queue[Any]  

//将原来的 int 改为 Any

println(q1)

q1 +=9

println(“q1=”+q1)

q1++=List(4,5,7)  

println(“q1=”+q1)

q1 +=List(10,0)  

//表示将 List(10,0) 作为一个元素加入到队列中

println(“q1=”+q1)  //结果为(9,4,5,7,List(10,0)

}

}


三、补充说明有关重载的知识点

操作符的重载如何实现:

(如何++一个对象)

object operatorOverload {

def main( args : Array [string]): unit = {

val cat = new cat    //创建一个 cat

cat + 10

println("cat.age=”+ cat.age)}

class cat {

var age = 0    //属性年龄默认为0

def +(n: Int) : unit = {   //支持加法

this.age += n

}

}

运行结果为:

Cat.age-p

Process finished with exit code 0

注意:cat+10等价于 cat.+(9)


四、复习上节

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

2)输入和输出要遵循先入先出的原则(没有带优先级)。即:先入队列的数据,要先取出后存入的要后取出

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

4) Scala 中,有两种队列,

分别是  scala.collection.mutalble.Queue (可变队列)

scala.collection.immutable.Queue(不可变队列),一般来说,我们在开发中常使用可变集合中的队列。队列不能变化的话意义不大,除非有队列不变这个要求.

相关文章
|
机器学习/深度学习 算法 数据可视化
【机器学习】十大算法之一 “PCA”
PCA(Principal Component Analysis,主成分分析)是一种广泛使用的线性降维算法,在机器学习领域被广泛应用。通俗地说,它是一种通过将高维数据映射到低维数据,保留数据主要特征的方法。在PCA中,数据被投影到一个新的低维抽象空间中,使新的特征集能最大化地解释数据集的方差,我们可以选择保留最大方差的前k个特征值。通常,PCA被用于降维,但它也被用作一种特征提取算法。在本文中,我们介绍了PCA算法的基本原理,讨论了它的应用,以及在Python中如何实现。
1741 0
【机器学习】十大算法之一 “PCA”
|
机器学习/深度学习 人工智能 算法
|
5天前
|
安全 PHP 数据库
PHP 8.2 新特性实战:只读类如何提升代码安全
PHP 8.2 新特性实战:只读类如何提升代码安全
|
11月前
|
人工智能 自然语言处理 算法
打破AI信息差:2024年20款好用的人工智能工具大盘点
本文带你了解20款值得一试的AI工具,帮助你在内容创作、图像设计、音频视频编辑等领域提高效率、激发创意。
1747 1
打破AI信息差:2024年20款好用的人工智能工具大盘点
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
802 7
Spring Boot 入门:简化 Java Web 开发的强大工具
|
12月前
|
安全 测试技术 网络安全
无需域名,如何通过IP地址申请SSL证书保障网站安全
SSL证书不仅适用于域名,还可为IP地址申请,确保无域名或局域网内数据传输安全。本文详解如何为IP地址申请SSL证书:选择支持的CA机构(如JoySSL),完成注册、验证并安装证书。特别适合没有域名、开发测试环境及局域网应用等场景。虽价格较高且供应商较少,但在特定需求下是有效解决方案。
|
算法 数据处理 数据安全/隐私保护
SAP ABAP 内表排序 动态字段排序
对于动态内表排序引用ABAP_SORTORDER_TAB
590 0
|
消息中间件 物联网 网络性能优化
MQTT常见问题之MQTT的topic超出上限25个如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
Java 微服务
IDEA报错There is insufficient memory for the Java Runtime Environment to continue.
IDEA报错There is insufficient memory for the Java Runtime Environment to continue.
2148 0