深入浅出scala之集合体系(集合即容器)(P46-4)

news2024/10/1 21:31:59

文章目录

  • 一、容器概念
  • 二、定长数组

一、容器概念

1.集合是一种用来存储各种对象和数据的容器。
2.Scala集合分为可变和不可变的集合,不可变集合可以安全的并发访问。

可变集合可以在适当的地方被更新或扩展。这意味着可以修改,添加,移除一个集合的元素。
不可变集合,相比之下,永远不会改变。但是仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不会发生改变。

3.Scala集合两个主要包

不可变集合:scala.collection.immutable
可变集合:scala.collection.mutable
Scala默认采用不可变集合。

4.Scala的集合有三大类:序列Seq、集合Set、映射Map,所有的集合都扩展自Iterable特质。

集合说明
Scala List (列表)List的特征是其元素以线性方式存储,集合中可以存放重复对象。
Scala Set (集合)Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。
Scala Map (映射)Map是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。
Scala Tuple (元组)元组是不同类型的值的集合
Scala Option (选项)Option[T]表示有可能包含值的容器,也可能不包含值。
Scala Iterator (迭代器)迭代器不是一一个容器,更确切的说是逐一-访问容器内元素的方法。
  • ref:MUTABLE AND IMMUTABLE COLLECTIONS
    scala.collection
    在这里插入图片描述

scala.collection.immutable
在这里插入图片描述

scala.collection.mutable
在这里插入图片描述

二、定长数组

package Container

object Main {
  def main(args: Array[String]): Unit = {
    println("hello world")

    // 创建int类型,长度为3的数组
    val array = new Array[Int](3)
    // 使用数组Array的半生对象来创建数组
    val strArr = Array[String]("java", "python", "hadoop")
    println(array.toBuffer)
    println(array.length)
    println(strArr.toBuffer)
  }
}

在这里插入图片描述

  • ref:Scala深入学习之集合体系学习(一),深入浅出Scala编程语言入门到精通

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/128089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

笔记:软件工程常用开源文档模板 + 软件著作权

https://github.com/AlexanderZhou01/China-software-copyright 下载以上的工程 解压放到U盘里 打开 D:\China-software-copyright-master 国家版权保护中心网址 办理步骤为企业获取政策优惠,减免。为学生提供成果。 办理步骤 (3030)∗50(3030)*50(3030)∗5…

Python 高效率传参调用 MATLAB 程序

Background python调用matlab脚本需要注意前置条件,具体参考官方文档:从 Python 中调用 MATLAB,大致就是两点:一是需要python和matlab版本对应,二是需要matlab运行环境mcr。具体安装配置可以参考:java和pyt…

使用Filebeat和AWS CloudWatch Logs将EC2上的Tomcat的access_log传送到ELK

文章目录背景和方案选择前提注册AWS账号创建EC2实例注意事项在EC2实例上安装aws-cloudwatch-agent注意事项测试aws-cloudwatch-agent是否可用使用Docker Compose部署ELK使用Docker Compose部署Filebeat配置文件说明docker-compose.yml说明filebeat配置文件说明input配置AWS Clo…

华为智能基座实验【计算机组成原理】

华为智能基座实验【计算机组成原理】前言推荐华为智能基座实验【计算机组成原理】1 课程介绍1.1 简介1.2 内容描述1.3 读者知识背景1.4 实验环境说明2 实验 1:hello-world 示例程序2.1 实验介绍2.1.1 关于本实验2.1.2 教学目标2.1.3 实验内容介绍2.2 实验任务操作指…

宝宝多大戒尿不湿?不看年龄看表现,用对方法轻松戒掉尿不湿

宝宝刚出生的时候,大小便次数比较多,宝宝自己也控制不了。这时,使用尿布可以减少父母的大量工作。但使用尿布只是暂时的。当宝宝到了一定年龄,就应该戒掉。宝宝能戒尿多大?既然尿布是用来兜宝宝大小便的,如…

从零学习 InfiniBand-network架构(十一) —— 管理器的介绍

从零学习 InfiniBand-network架构(十一) —— 管理器的介绍 🔈声明: 😃博主主页:王_嘻嘻的CSDN主页 🔑未经作者允许,禁止转载 🚩本专题部分内容源于《InfiniBand-network…

作为QA,我们要如何思考?

随着测试人员陆续开始尝试角色转变,坚守的QA需要找到自己的发展之路。兴趣和性格是客观因素,好奇心和发散性思维则是帮助成为优秀QA的必要因素。我想通过一些小的例子来与大家互动探讨。 测试你做对了吗? 让我们从这样一个现实中的小例子来…

【历史上的今天】12 月 30 日:C++ 之父诞生;Hotmail 创始人出生;Facebook 注册破百万

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2022 年 12 月 30 日,在 1930 年的这一天,“青蒿素之母”屠呦呦出生。2015 年 10 月 5 日,屠呦呦获得诺贝尔生理学或医学奖&#xf…

【Java基础知识】对Object类wait()和notify()方法的理解

wait()/notify()原理 当前线程必须拥有此对象的monitor监视器(锁)。(不获取锁直接用Object对象调用wait和notify,会报错java.lang.IllegalMonitorStateException)当前线程调用wait() 方法,线程就会释放此锁的所有权&a…

动态库和静态库

文章目录感性认识库动态库和静态库从库的设计者来看库制作静态库制作动态库库的使用者的角度静态库的使用使用动态库1.把头文件和库文件拷贝到系统的路径下2.修改对应的环境变量更改文件 ld.so.conf.d在系统的库路径下建立对应的软链接动态库如何加载感性认识库 首先&#xff…

关于GNSS关键性能测试,应该如何选择?

现在,GPS/GNSS信号无处不在,而GNSS接收机芯片的低成本和高性能也让在不同设备中安装GNSS接收机变得更为容易。然而,与此同时又存在一个问题,如果想将这些接收器芯片集成到一个设备或系统中,该如何对其进行全面的GNSS测…

方法注解@Bean与对象注入

1.类注解是添加到某个类上的,⽽⽅法注解是放到某个⽅法上的,如以下代码的实现: 注:方法注解一定要搭配类注解使用,否则会报错 2.重命名Bean 多个重命名,使用多个名称获取的对象都是同一个 3.获取 Bean 对象…

全网惟一面向软件测试人员的Python基础教程-在Python中列表是什么?

全网惟一面向软件测试人员的Python基础教程 起点:《python软件测试实战宝典》介绍 第一章 为什么软件测试人员要学习Python 第二章 学Python之前要搞懂的道理 第三章 你知道Python代码是怎样运行的吗? 第四章 Python数据类型中有那些故事呢?…

TTL(RGB)接口液晶显示屏的调试方法

TTL接口的液晶显示屏一般会使用DE模式驱动它。首先需要CPU带有LCD控制器,能够产生出液晶显示屏所需要的以下几个信号: 1.时钟信号(DOTCLK) 2.行同步信号(HSYNC) 3.场同步信号(VSYNC) 4.DEN(数据允许信号) 6.数据信号(R0-R7;G0-G7;B0-B7)…

第02讲:Git分支操作

一、什么是分支 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独 分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时 候,不会影响主线分支的运行。对于…

剑指 Offer 17. 打印从1到最大的n位数

题目 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 思路 本题应该考虑的是大数问题,但是返回数组为int[]。。。所以两种方法都做一下 方法一:普通解法&#xff…

天翼云服务器性能评测,4H8G贵阳节点性能跑分

天翼云号称全球运营商云第一、中国公有云用户数第二、政务云公有云第一。那么天翼云服务器用起来到底怎么样呢? 目前,蓝队云这边一共有19个天翼云节点云服务器,覆盖全国多个核心省市及地区,节点选择的话一般就是按照就近原则。 …

权威报告出炉:2022年移动机器人出货量增长53%!2023年移动机器人迎来发展新拐点?

原创/文 BFT机器人 近日,全球权威研究机构Interact Analysis重磅发布移动机器人领域的“风向标”——《2022年移动机器人市场报告》(The Mobile Robot Market 2022),深入探究真实市场数据,对全球移动机器人领域的发展现…

当压力传感器遇到汽车电子系统 智芯传感打造车规级智能感知传感器产品

汽车电子系统是汽车数字化的发端和基础,更是汽车智能化的前提。近年来,伴随着汽车电子技术的快速发展与应用,汽车电子系统在车辆控制精度、范围、适应性和智能化等方面,都实现了大幅优化提升。而压力传感器作为汽车电子系统的主要…

RHCSA 第五天笔记

用户和组管理 用户分为三类: 超级用户 root 普通用户 只能切换到自己有的用户 系统用户(不常用,没办法登录) 组分为两类 定义概念 基本组(私有组) 没指定所属组,系统建立和用户同名的组 附加…