当前位置: 首页 > news >正文

22_Scala集合Seq

文章目录

  • Seq序列
  • 1.构建集合
  • 2.List集合元素拼接&&集合拼接
  • 3.可变Seq&&List
    • 3.1 ListBuffer创建
    • 3.2 增删改查
    • 3.3 相互转化
  • Appendix
    • 1.Scala起别名
    • 2.Seq底层
    • 3.关于运算符操作+: :+
    • 4.空集合的表示

在这里插入图片描述

Seq序列

–Seq表示有序数据可重复的集合

1.构建集合

//    1.构建Seq
val seq = Seq(1, 2, 3, 4)
val list = List(1, 1, 3, 4)
println(seq) //List(1, 2, 3, 4)
println(list) //List(1, 1, 3, 4)list :+ 10 //不可变集合,加了没用
println(list :+ 10) //List(1, 1, 3, 4, 10)//    --增量式创建List
val list2 = 1 :: 2 :: 3 :: 4 :: List()
println(list2) //List(1, 2, 3, 4)//    简化
val list3 = 1 :: 2 :: 3 :: 4 :: Nil

2.List集合元素拼接&&集合拼接

//    2.List集合添加数据 :: 和 :::100::220::list3println(list3)    //List(1, 2, 3, 4)    不变集合不发生任何改变var list9 =  100::220::list3println(list9)    //List(100, 220, 1, 2, 3, 4)var list10 = list9:: list     //::表示将冒号的左边当作一个元素添加到右边的集合println(list10)   //List(List(100, 220, 1, 2, 3, 4), 1, 1, 3, 4)var list10_ = list9::: list   //:::表示将集合左边的数据倒入集合右边(头插)println(list10_)    //List(100, 220, 1, 2, 3, 4, 1, 1, 3, 4)

3.可变Seq&&List

集合创建,使用apply方法,且请注意使用的是ListBuffer增删改差相互转化
toBuffer,toList

3.1 ListBuffer创建

注意:没有SeqBuffer

//1.集合创建,使用apply方法
val value = ListBuffer(1, 2, 3, 4)

3.2 增删改查

//    2.增删改差value.append(999)value.insert(0,-999)value.update(1,-999)value.appendAll(ListBuffer(8,7,6))println(value)    //ListBuffer(-999, -999, 2, 3, 4, 999, 8, 7, 6)value.remove(0,2)  //删除两个-999println(value)    //ListBuffer(2, 3, 4, 999, 8, 7, 6)

3.3 相互转化

toList()
toBuffer()

Appendix

1.Scala起别名

type JavaHsahMap = java.util.HashMap[String,String]

也就是将java.util.HashMap[String,String]起别名为JavaHashMap

起别名关键字type

2.Seq底层

scala中Seq是一个特质trait,无法直接构建对象,所以底层采用的是List集合

在这里插入图片描述

在这里插入图片描述

由于底层关系,上述两种写法都可以

3.关于运算符操作+: :+

此类运算符都是表示集合从:端进行+操作

例如:

list :+ 10
10 +: list	
List(1, 1, 3, 4, 10)

4.空集合的表示

List()
Nil
//二者等价

相关文章:

22_Scala集合Seq

文章目录 Seq序列1.构建集合2.List集合元素拼接&&集合拼接3.可变Seq&&List3.1 ListBuffer创建3.2 增删改查3.3 相互转化 Appendix1.Scala起别名2.Seq底层3.关于运算符操作: :4.空集合的表示 Seq序列 –Seq表示有序,数据可重复的集合 1.构建集合 …...

机器学习初学者 6 个核心算法!建议收藏,反复观看!

今天再来介绍机器学习算法的基本概念和适用场景! 首先,引用一句英国统计学家George E. P. Box的名言:All models are wrong, but some are useful. 没有哪一种算法能够适用所有情况,只有针对某一种问题更有用的算法。 也就是说&…...

SpringBoot 打包所有依赖

SpringBoot 项目打包的时候可以通过插件 spring-boot-maven-plugin 来 repackage 项目&#xff0c;使得打的包中包含所有依赖&#xff0c;可以直接运行。例如&#xff1a; <plugins><plugin><groupId>org.springframework.boot</groupId><artifact…...

QpushButton绘制圆角矩形并绘制背景颜色

要在QPushButton的paintEvent中绘制按钮的颜色&#xff0c;可以创建一个自定义的QPushButton类&#xff0c;并重写它的paintEvent函数。在paintEvent函数中&#xff0c;可以使用QPainter来绘制按钮的背景颜色。 以下是一个简单的示例代码&#xff0c;演示如何在自定义的QPushB…...

Core Impact 21.5 (Windows) - 高级渗透测试

Core Impact 21.5 (Windows) - 高级渗透测试 Fortra | Core Security Penetration testing software, Release Feb 2024 请访问原文链接&#xff1a;Core Impact 21.5 (Windows) - 高级渗透测试&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&…...

【Web前端】定位_浮动_音视频

1、定位 1.1想对定位 相对定位&#xff0c;使用relative&#xff0c;参考点是标签之前的位置&#xff0c;不是相对于父节点、同级节点或浏览器。相对定位通过left、right进行水平偏移&#xff0c;通过top、bottom进行垂直偏移Ieft:表示相对于原本位置的左外边界右移的距离rig…...

【Osek网络管理测试】[TG4_TC3]LimpHome状态下的睡眠中断

🙋‍♂️ 【Osek网络管理测试】系列💁‍♂️点击跳转 文章目录 1.环境搭建2.测试目的3.测试步骤4.预期结果5.测试结果1.环境搭建 硬件:VN1630 软件:CANoe 2.测试目的 验证DUT在LimpHome状态下的睡眠中断是否正确 分析:在跛脚运行状态下,满足睡眠条件后,进入到NM…...

【QT教程】QT6硬件数据库编程 QT硬件数据库

QT6硬件数据库编程 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免…...

unaipp推荐算法的汽车租赁系统zaxzu 微信小程序hbuiderx

随着现代汽车租赁管理的快速发展&#xff0c;可以说汽车租赁管理已经逐渐成为现代汽车租赁管理过程中最为重要的部分之一。但是一直以来我国传统的汽车租赁管理并没有建立一套完善的行之有效的汽车租赁管理系统&#xff0c;传统的汽车租赁管理已经无法适应高速发展&#xff0c;…...

STM32单片机中C语言的一些隐藏bug

必须类型一致的判断才能正常 double a-0.4; if(a < -0.2){print("低电平"); }这段代码可能未必如你所愿的运行. < 小于号的判断一定要类型一致, 尤其是牵扯到双精度类型的判断… 一定要保证符号 两边的数据类型一致才有可能得到你想要的结果. 代码里 -0.4 默认…...

车载测试到底怎么样?真实揭秘!

什么是车载智能系统测试&#xff1f; 车载智能系统&#xff0c;是汽车智能化重要的组成部分&#xff0c;由旧有的车载资通讯系统结合联网汽车技术所演进而来&#xff0c;随着软硬件技术的不断进步&#xff0c; 让车载智能系统拥有强大的运算能力及多元化的应用功能。 车载智能…...

RustGUI学习(iced)之小部件(八):如何使用svg部件显示矢量图形?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第八篇,主要讲述svg矢量图形部件的使用,会结合实…...

gitlab设置保护分支

gitlab设置保护分支方法 进入代码仓库首页&#xff0c;找到settings下的repository并点击进入 找到Protected Branches 下的Exoand按钮&#xff0c;并点击展开 可以看到已经存在默认的保护分支&#xff0c;通常是master/main分支&#xff0c;也可以添加新的保护分支 新建保护分…...

五月加仓比特币

作者&#xff1a;Arthur Hayes Co-Founder of 100x. 编译&#xff1a;Liam 编者注&#xff1a;本文略有删减 (以下内容仅代表作者个人观点&#xff0c;不应作为投资决策的依据&#xff0c;也不应被视为参与投资交易的建议或意见&#xff09;。 从四月中旬到现在&#xff0c;当你…...

为什么需要归档和管理合同

归档和管理合同是非常重要的&#xff0c;主要有以下几个原因&#xff1a; 1. 法律合规性&#xff1a;公司需要遵守法律和监管要求&#xff0c;合同是法律文件&#xff0c;涉及公司的权益和责任。归档和管理合同可以确保公司遵守法律法规&#xff0c;合同的内容和执行过程都符合…...

什么是DMA? STM32如何配置DMA?

您好&#xff0c;我们一些喜欢嵌入式的朋友一起建立的一个技术交流平台&#xff0c;本着大家一起互相学习的心态而建立&#xff0c;不太成熟&#xff0c;希望志同道合的朋友一起来&#xff0c;抱歉打扰您了QQ群372991598 一、DMA简介 1、DMA简介 DMA(Direct Memory Access&a…...

交友软件源码-源码+搭建+售后,上线即可运营聊天交友源码 专业语聊交友app开发+源码搭建-快速上线

交友小程序源码是一种可以帮助开发者快速搭建交友类小程序的代码模板。它通常包括用户注册、登录、个人信息编辑、匹配推荐、好友聊天等常见功能&#xff0c;以及与后台数据交互的接口。使用这种源码可以极大地缩短开发时间&#xff0c;同时也可以根据自己的需求进行二次开发和…...

c++多线程2小时速成

简介 c多线程基础需要掌握这三个标准库的使用&#xff1a;std::thread,std::mutex, andstd::async。 1. Hello, world #include <iostream> #include <thread>void hello() { std::cout << "Hello Concurrent World!\n"; }int main() {std::th…...

大模型日报2024-05-09

大模型日报 2024-05-09 大模型资讯 NVIDIA推出VILA视觉语言模型&#xff0c;开启边缘AI 2.0时代 摘要: NVIDIA最新推出的VILA家族视觉语言模型代表了边缘AI 2.0的到来。这些模型具备高级视觉推理能力&#xff0c;能够在低功耗的边缘设备上运行&#xff0c;为各种应用带来更智能…...

QGraphicsView实现简易地图11『指定层级-定位坐标』

前文链接&#xff1a;QGraphicsView实现简易地图10『自适应窗口大小』 提供一个地图初始化函数&#xff0c;指定地图显示的中心点和地图缩放层级 能够让地图显示某一层级的瓦片&#xff0c;并将中心点坐标显示在视图中心。 1、动态演示效果 7级地图-大连-老虎滩 定位到 8级地图…...

UE5 蓝图入门

基础节点创建&#xff1a; 常量&#xff1a; 按住 1 &#xff0c;点击鼠标左键&#xff0c;创建常量 二维向量&#xff1a; 按住 2 &#xff0c;点击鼠标左键&#xff0c;创建二维向量 三维向量&#xff1a; 按住 3 &#xff0c;点击鼠标左键 乘法&#xff1a; 按住 m 键…...

英语单词学习

house of worship:宗教场所 dote: 喜爱 coffin:棺材 coffeine:咖啡因 expedient:权宜的 buster:破坏者 procrastinate: 拖延 gourmet:美食家 expound:阐述 narcissist:自我陶醉 assassinate:暗杀 salvage: 挽救 savage: 凶猛的 ulcer: 溃疡 obituary:讣告 arbitrary:武断的 abu…...

使用Python编写自动化测试代码规范整理

大家好&#xff0c;我们平时在写自动化测试脚本或者性能测试脚本时&#xff0c;需要注意代码规范&#xff0c;提高代码的可读性与维护性&#xff0c;之前给大家分享过pycharm的两个插件&#xff0c;大家可以参考&#xff1a;Pycharm代码规范与代码格式化插件安装 本文中主要从自…...

实验七 SJK数据库定义与操纵

实验题目 实验七 SJK数据库定义与操纵 实验时间 2023.5.17 实验地点 软件工程基础实验室 实验课时 2 实验目的 ​了解并掌握数据库定义与操纵的知识并能熟练应用 实验要求 ​熟练掌握和使用PL-SQL建立数据库基本表&#xff0c;使用PL/SQL developer操作数据库&a…...

Win10环境下yolov8快速配置与测试-详细

0.0 说明 参考黄家驹的Win10 环境下YOLO V8部署&#xff0c;遇到一些问题&#xff0c;并解决实现&#xff0c;记录如下: 斜线字体是原博客中的创作 0.1 参考链接 https://blog.csdn.net/m0_72734364/article/details/128865904 1 Windows10下yolov8 tensorrt模型加速部署 …...

C++面向对象学习笔记一

本文阅读下述文章&#xff0c;顺手记录学习《C面向对象程序设计》✍千处细节、万字总结&#xff08;建议收藏&#xff09;_c面向对象程序设计千处细节-CSDN博客 目录 前言 正文 浅拷贝和深拷贝 向函数传递对象 静态数据成员和静态成员函数 友元 友元函数 1、将非成员函数声明…...

C++容器之vector类

目录 1.vector的介绍及使用1.1vector的介绍1.2vector的使用1.2.1 vector的定义1.2.2 vector iterator 的使用1.2.3 vector 空间增长问题1.2.4 vector 增删查改1.2.5vector 迭代器失效问题1.2.6 vector 在OJ中的使用。 2.vector深度剖析及模拟实现2.1 std::vector的核心框架接口…...

什么是MVCC?

MVCC是一种数据库的并发控制策略,就是为了解决多个用户同时访问数据库修改同一数据所造成的问题,如何解决这个问题了? 就是通过创建同一个数据的不同的版本,通过创建时间的不同,最后进行数据合并,其就不用给数据库上锁了,其实数据库的锁,虽然说InnoDB已经非常牛逼了,可以使用行…...

数据结构队列学习

引入 众说周知&#xff0c;在队列的题目中&#xff0c;队头指针(front)和队尾指针(rear)有两种指示方法。 &#xff08;1&#xff09;队头指针 ①指向队头元素 ②指向队头元素元素的前一个位置 &#xff08;2&#xff09;队尾指针 ①指向队尾元素 ②指向队尾元素的后一个位置 指…...

Javaweb第五次作业

poet数据库sql语言 create table poet(id int unsigned primary key auto_increment comment ID,name varchar(10) not null comment 姓名,gender tinyint unsigned not null comment 性别, 说明: 1 男, 2 女,dynasty varchar(10) not null comment朝代,title varchar(20) not…...

平台营销型网站建设/上海网站快速排名优化

编辑距离 编辑距离&#xff08;Edit Distance&#xff09;&#xff0c;又称Levenshtein距离&#xff0c;是指两个字串之间&#xff0c;由一个转成另一个所需的最少编辑操作次数。编辑操作包括将一个字符替换成另一个字符&#xff0c;插入一个字符&#xff0c;删除一个字符。一般…...

网站开发学习课程/成都seo顾问

为什么80%的码农都做不了架构师&#xff1f;>>> 由于本从精力有限&#xff0c;如果内容有更新可能无法及时更新其他渠道的内容&#xff0c;请移步简书 查看文章 由于之前公司项目一直迭代速度很快&#xff0c;几乎隔几天就需要发布测试包给同事们进行测试&#xff…...

外贸商城网站制作/哈尔滨百度网络推广

定义头部文件&#xff0c;防止写中文时乱码 header("content-type:text/html;charsetutf-8");接收数据$username $_POST["uname"];$userpwd $_POST["upwd"];处理数据:将接收到的用户名和密码 添加到数据库的user表中1--连接数据源 mysql_con…...

wordpress里面的附件如何导出/百度学术查重

AOP为Aspect OrientedProgramming的缩写&#xff0c;意为面向切面编程。那什么又是面向切面&#xff1f;它与仅有一字之差的OOP又有着什么样的区别与联系&#xff1f;所谓的面向切面编程其实是对业务逻辑又进行了进一步的抽取&#xff0c;将多种业务逻辑中的公用部分抽取出来做…...

梅州网站建设/广告推广怎么做

构造函数初始化列表以一个冒号开始&#xff0c;接着是以逗号分隔的数据成员列表&#xff0c;每个数据成员后面跟一个放在括号中的初始化式。例如&#xff1a; class CExample { public:int a;float b;//构造函数初始化列表CExample(): a(0),b(8.8){}//构造函数内部赋值CExampl…...

深圳软件项目定制开发费用/网站排名优化技巧

快速上手php&#xff1a;使用PhpStrom调试php闲话 使用phpStrom的时候居然不打印到控制台,要打印测试的话就要输出到页面,目前我还不知道有什么好办法像jsp一样输出到页面的同时也打印到控制台.这种做法还是比较烦的,特别出问题需要调试的时候. ...Asp&period;net使用代码修…...