当前位置: 首页 > 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级地图…...

BetterGI自动化工具:每天为原神玩家节省2小时

BetterGI自动化工具&#xff1a;每天为原神玩家节省2小时 【免费下载链接】better-genshin-impact &#x1f4e6;BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | 自动烹饪 …...

新手入门教程使用curl命令直连Taotoken测试大模型聊天补全接口

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 新手入门教程&#xff1a;使用curl命令直连Taotoken测试大模型聊天补全接口 本文面向刚接触API调用的开发者&#xff0c;旨在指导如…...

2.2 本地文件读取

本章学习目标&#xff1a; 知道CSV、Excel、JSON三种文件分别怎么读、会遇到什么常见问题理解每种文件格式的“坑”在哪里&#xff0c;以及如何向AI描述解决方案学会用“人话”告诉AI你要做什么&#xff0c;让AI生成代码不需要记住任何函数名或参数&#xff0c;只需要知道“有什…...

2026年Hermes Agent/OpenClaw怎么部署?阿里云自动化部署及Token Plan配置

2026年Hermes Agent/OpenClaw怎么部署&#xff1f;阿里云自动化部署及Token Plan配置。OpenClaw是开源的个人AI助手&#xff0c;Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token P…...

《凰标》:写给所有被资本轻视的创作者@凤凰标志

——写给所有不被看见的创作者没有流量即是无用&#xff0c; 没有热度即是不值&#xff0c; 没有商业变现能力即是小众累赘。在资本主导的文娱评价体系里&#xff0c;这条偏见像一道隐形天花板&#xff0c;横亘在每一个草根创作者的头顶。一、被算法淹没的匠心 他们怀揣赤诚热爱…...

20 鸿蒙LiteOS信号量原理实战:信号量作用、MAX_COUNT含义、线程同步源码解析

鸿蒙LiteOS信号量原理实战&#xff1a;信号量作用、MAX_COUNT含义、线程同步源码解析 一、前言 本文基于小凌派 RK2206鸿蒙LiteOS标准示例代码&#xff0c;从零讲解LiteOS内核信号量核心概念&#xff1a;为什么需要信号量、信号量能干什么、MAX_COUNT参数真实含义&#xff0c…...

小熊派gd32f303实战指南(9)— 硬件I2C驱动AT24C02 EEPROM从零到一

1. 硬件I2C与AT24C02基础认知 第一次接触硬件I2C时&#xff0c;我也被那些专业术语搞得一头雾水。简单来说&#xff0c;I2C就像两个人用摩斯密码交流——只需要两根线&#xff08;SDA数据线和SCL时钟线&#xff09;&#xff0c;就能让主设备&#xff08;GD32F303&#xff09;和…...

弯曲波触觉反馈技术:为触摸屏注入真实按键手感的工程实践

1. 项目概述&#xff1a;当触摸屏需要“手感”在2012年&#xff0c;如果你告诉一个家电设计师&#xff0c;未来的微波炉、冰箱或烤箱面板将是一块完全平整、没有任何物理凸起的玻璃或塑料板&#xff0c;他可能会皱起眉头。因为这意味着用户将失去最直接的交互反馈——那个“咔哒…...

淘金币全自动脚本终极指南:3分钟搞定淘宝每日任务,解放双手的简单教程

淘金币全自动脚本终极指南&#xff1a;3分钟搞定淘宝每日任务&#xff0c;解放双手的简单教程 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mir…...

Windows系统清理神器:DriverStore Explorer深度使用教程

Windows系统清理神器&#xff1a;DriverStore Explorer深度使用教程 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否曾经遇到过Windows系统盘空间莫名减少的情况&#xff1f;是否…...