Scala基础应用(6)- 常用对象,集合等

scala中的集合与集合操作 scala中的集合 Scala的集合类可以从三个维度进行切分: 可变与不可变集合(Immutable and mutable collections) 静态与延迟加载集合 (Eager and delayed evaluation ) 串行与并行计算集合(Sequential and parallel evaluation ) 可变与不可变集合[1] 可变集合可以在适当的地方被更新或扩 阅读详情

Scala基础应用(6)- 常用对象,集合等

本章主要讲解一些常用对象和集合类

1. 序列化(Ordered特质)

例子:
class Rational(n: Int, d: Int) extends Ordered[Rational] {
    def compare(that: Rational) =
        (this.number * that.denom) - (that.number * this.denom)
}

2. 数组 (Array)

  • 声明数组变量

    var aArray: Array[类型] = new Array[类型] (数组大小)
    var aArray = new Array[类型] (数组大小)
    var aArray = Array(初始值1, 初始值2, ...)
    
    例子:
    var aArray : Array[String] = new Array[String] (10)
    for (i <- 0 to 9)
        aArray(i) = i.toString
    
    var aArray1 = new Array[String] (10)
    for (i <- 0 to (aArray1.length -1)) 
        aArray(i) = i.toString
    
    var aArray2 = Array("0", "1")  // 实际上执行的是Array.apply("0", "1")
    for (a <- aArray2)
        println (a)
    
    var emptyArray: Array[Nothing] = Array()
    var dimArray: Array[Array[String]] = Array (
        Array("One", "Two"),
        Array("Threee"),
        Array("Four", "Five")
    )
  • 多维数组

    Scala不直接支持多维数组,但提供多种方法实现任意维度的数组

    var multipleArray = Array.ofDim[Int](3,3)
    for (i <- 0 to 2; j <- 0 to 2)
        multipleArray(i)(j) = i * j
  • 连接数组

    var array1 = Array("one", "two")
    var array2 = Array("three")
    
    var combinedArray = Array.concat(array1, array2)
  • 范围数字数组 (只支持数字 Int)

    var numberArray1 = Array.range(0, 100, 2)  // 其中2为步进值
    var numberArray2 = Array.range(0, 100)     // 缺省步进值为1

3. 列表 (List)

  • 变量声明与数组相同,上面数组声明部分将Array改成List都可以工作, 但List不可变,即使用var声明是没有意义的
  • Nil 为空列表
  • 连接列表

    var aList1 = List("One", "Two")
    var aList2 = List("Three")
    var aString = "Four"
    var aList4 = List("Five", "Six")
    
    var combinedList0 = List.concat(aList1, aList2)
    var combinedList1 = aList1 ::: aList2
    var combinedList2 = aString :: aList4
    var combinedList3 = "First" :: Nil
    var combinedList4 = "First" :: ("Second" :: Nil)
  • 列表头: head, 列表尾: tail

  • 统一列表: List.fill(次数)(值)
  • 制成表格列表: List.tabulate(元素数量,维度) (函数) // 维度缺省为1

    val square = List.tabulate(5) (n => n * n)
    val dim = List.tabulate(4, 5) (_ * _)
    val dim2 = List.tabulate(4,5) ((x, y) => x * y) // 也上面等同
  • 反序: aList.reverse

4. 集 (Set)

5. 映射 (Map)

6. 元组 (Tuple)

7. Option

8. 迭代(Iterator)

9. 集合可变与不可变层级图

  • 集合层级图

这里写图片描述

  • 可变集合层级图

这里写图片描述

  • 不可变集合层级图

这里写图片描述

10. 附表

  • Array

    序号声明说明
    1def apply( x: T, xs: T* ): Array[T] 创建T对象,其中T可以是Unit, Double, Float, Long, Int, Char, Short, Byte, Boolean数组。
    2def concat[T]( xss: Array[T]* ): Array[T]连接所有阵列成一个数组。
    3def copy( src: AnyRef, srcPos: Int, dest: AnyRef, destPos: Int, length: Int ): Unit复制一个数组到另一个。相当于Java的System.arraycopy(src, srcPos, dest, destPos, length).
    4def empty[T]: Array[T]返回长度为0的数组
    5def iterate[T]( start: T, len: Int )( f: (T) => T ): Array[T]返回一个包含一个函数的重复应用到初始值的数组。
    6def fill[T]( n: Int )(elem: => T): Array[T]返回包含某些元素的计算的结果的次数的数组。
    7def fill[T]( n1: Int, n2: Int )( elem: => T ): Array[Array[T]]返回一个二维数组,其中包含某些元素的计算的结果的次数。
    8def iterate[T]( start: T, len: Int)( f: (T) => T ): Array[T]返回一个包含一个函数的重复应用到初始值的数组。
    9def ofDim[T]( n1: Int ): Array[T]创建数组给出的尺寸。
    10def ofDim[T]( n1: Int, n2: Int ): Array[Array[T]]创建了一个2维数组
    11def ofDim[T]( n1: Int, n2: Int, n3: Int ): Array[Array[Array[T]]]创建3维数组
    12def range( start: Int, end: Int, step: Int ): Array[Int]返回包含一些整数间隔等间隔值的数组。
    13def range( start: Int, end: Int ): Array[Int]返回包含的范围内增加整数序列的数组。
    14def tabulate[T]( n: Int )(f: (Int)=> T): Array[T]返回包含一个给定的函数的值超过从0开始的范围内的整数值的数组。
    15def tabulate[T]( n1: Int, n2: Int )( f: (Int, Int ) => T): Array[Array[T]]返回一个包含给定函数的值超过整数值从0开始范围的二维数组。
  • List

    序号声明说明
    1def +(elem: A): List[A]前置一个元素列表
    2def ::(x: A): List[A]在这个列表的开头添加的元素。
    3def :::(prefix: List[A]): List[A]增加了一个给定列表中该列表前面的元素。
    4def ::(x: A): List[A]增加了一个元素x在列表的开头
    5def addString(b: StringBuilder): StringBuilder追加列表的一个字符串生成器的所有元素。
    6def addString(b: StringBuilder, sep: String): StringBuilder追加列表的使用分隔字符串一个字符串生成器的所有元素。
    7def apply(n: Int): A选择通过其在列表中索引的元素
    8def contains(elem: Any): Boolean测试该列表中是否包含一个给定值作为元素。
    9def copyToArray(xs: Array[A], start: Int, len: Int): Unit列表的副本元件阵列。填充给定的数组xs与此列表中最多len个元素,在位置开始。
    10def distinct: List[A]建立从列表中没有任何重复的元素的新列表。
    11def drop(n: Int): List[A]返回除了第n个的所有元素。
    12def dropRight(n: Int): List[A]返回除了最后的n个的元素
    13def dropWhile(p: (A) => Boolean): List[A]丢弃满足谓词的元素最长前缀。
    14def endsWith[B](that: Seq[B]): Boolean测试列表是否使用给定序列结束。
    15def equals(that: Any): Booleanequals方法的任意序列。比较该序列到某些其他对象。
    16def exists(p: (A) => Boolean): Boolean测试谓词是否持有一些列表的元素。
    17def filter(p: (A) => Boolean): List[A]返回列表满足谓词的所有元素。
    18def forall(p: (A) => Boolean): Boolean测试谓词是否持有该列表中的所有元素。
    19def foreach(f: (A) => Unit): Unit应用一个函数f以列表的所有元素。
    20def head: A选择列表的第一个元素
    21def indexOf(elem: A, from: Int): Int经过或在某些起始索引查找列表中的一些值第一次出现的索引。
    22def init: List[A]返回除了最后的所有元素
    23def intersect(that: Seq[A]): List[A]计算列表和另一序列之间的多重集交集。
    24def isEmpty: Boolean测试列表是否为空
    25def iterator: Iterator[A]创建一个新的迭代器中包含的可迭代对象中的所有元素
    26def last: A返回最后一个元素
    27def lastIndexOf(elem: A, end: Int): Int之前或在一个给定的最终指数查找的列表中的一些值最后一次出现的索引
    28def length: Int返回列表的长度
    29def map[B](f: (A) => B): List[B]通过应用函数以g这个列表中的所有元素构建一个新的集合
    30def max: A查找最大的元素
    31def min: A查找最小元素
    32def mkString: String显示列表的字符串中的所有元素
    33def mkString(sep: String): String显示的列表中的字符串中使用分隔串的所有元素
    34def reverse: List[A]返回新列表,在相反的顺序元素
    35def sorted[B >: A]: List[A]根据排序对列表进行排序
    36def startsWith[B](that: Seq[B], offset: Int): Boolean测试该列表中是否包含给定的索引处的给定的序列
    37def sum: A概括这个集合的元素
    38def tail: List[A]返回除了第一的所有元素
    39def take(n: Int): List[A]返回前n个元素
    40def takeRight(n: Int): List[A]返回最后n个元素
    41def toArray: Array[A]列表以一个数组变换
    42def toBuffer[B >: A]: Buffer[B]列表以一个可变缓冲器转换
    43def toMap[T, U]: Map[T, U]此列表的映射转换
    44def toSeq: Seq[A]列表的序列转换
    45def toSet[B >: A]: Set[B]列表到集合变换
    46def toString(): String列表转换为字符串
  • Tuple

    序号声明说明
    1
  • Set

    序号声明说明
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
  • Map

    序号声明说明
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
  • Option

    序号声明说明
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
  • Iterator

    序号声明说明
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
电容式麦克风:从原理到实际电路波形解析 本文深入解析电容式麦克风的工作原理,从核心的振膜与背板结构、电荷锁定机制到场效应管放大器的作用。通过实物拆解与等效电路分析,阐明声音振动如何转换为电压信号,并指导如何用示波器实测波形,直观展现声电转换过程,适合电子爱好者和音频技术学习者。 阅读详情

相关推荐

HDMI端口辐射(EMI)超标解决方案

HDMI端口辐射(EMI)超标解决方案 一、HDMI EMC设计要求: 1、HDMI EMC设计原理图 ( 图 一 ) 2、HDMI元件选型及参数说明:(图一所示) a.L510、L511、L512、L513使用专业EMI共模滤波器(普通共模电感寄生电容太大,会导致TMDS差分阻抗匹配测试失败),阻抗值为90Ω~100Ω(两路共模滤波器型号:CMF1210DH900MFR;四路共模滤波器型号:CMF2010DH101MFR), b.U1、U2为排式ESD(ESD排型号:ESD0524PA),越低的结电容

ltqdxl的博客 1万+

6.1.2 Scala 数组元组(变长,操作,算法,多维,元组), 类与对象(无参构造,自定义GS,Bean,构造器,对象(单例,伴生,app对象)), 继承(构造执行顺序,方法重写,类型检查转换)

目录 第三部分 数组和元组 第1节 数组定义 第2节 变长数组 第3节 数组操作 第4节 常见算法 第5节 多维数组 第6节 元组及操作 第四部分 类与对象 第1节 类和无参构造器 第2节 自定义getter和setter方法 第3节 Bean属性 第4节 构造器 第5节 对象 5.1 单例对象 5.2 伴生类与伴生对象 5.3 应用程序对象 5.4 apply方法 第五部分 继承 第1节 继承的概念 第2节 构造器执行顺序 第3节 override方法重写 第4

chengh1993的博客 566

使用Python下载ECMWF的ERA-5数据

一、注册账号 [官网]https://www.ecmwf.int/ 二、登录后获取下载key https://cds.climate.copernicus.eu/api-how-to 如图右侧红色框中的内容复制保存为TXT文件,并重命名为“.cdsapirc”,注意前面有点,保存在 C:\Users\username\.cdsapirc,(WINDOWS系统),username指当前电脑登录账户。 三、安装cdsapi库 以pycharm为例: 在pycharm中依次打开:File>setting

wise_sun的博客 7705

Scala系列 (二)Scala数组----超详细常用方法及其用法

写在前面: 我是「nicedays」,一枚喜爱做特效,听音乐,分享技术的大数据开发猿。这名字是来自world order乐队的一首HAVE A NICE DAY。如今,走到现在很多坎坷和不顺,如今终于明白nice day是需要自己赋予的。 白驹过隙,时光荏苒,珍惜当下~~ 写博客一方面是对自己学习的一点点总结及记录,另一方面则是希望能够帮助更多对大数据感兴趣的朋友。如果你也对 大数据与机器学习感兴趣,可以关注我的动态 https://blog.youkuaiyun.com/qq_35050438,让我们一起挖掘数据与.

qq_35050438的博客 3761

【游戏开发】初识寻路&navmesh,探索RecastDemo

在手游时代,尤其对于大世界游戏而言,寻路的实现基本在专门的寻路服务器上进行。在众多寻路的解决方案中,recastnavigation是最为经典实用的一个,很多游戏甚至游戏引擎都采用类似的实现。recastnavigation项目自带了RecastDemo,用图形化的界面帮助用户认识寻路网格(navmesh)的生成以及寻路的过程。因此,作为初学者的笔者,也决定通过RecastDemo去初步认识寻路的机理奥秘。 构建RecastDemo 首先克隆recastnavigation项目,从文档中可以看到Recast

HiKariのTechLab 3055

西门子S7-1200与汇川SV660F伺服Profinet通讯调试实战

在工业自动化领域,Profinet作为工业以太网标准协议,凭借其高实时性和灵活组网能力,已成为伺服驱动器与PLC通讯的主流选择。其核心原理是通过设备名识别、IP分配以及标准报文(如111速度报文、105定位报文)传输控制字与状态字,实现驱动器的精准控制。相比传统脉冲或CANOpen方案,Profinet直连省去了协议转换网关,降低了成本与故障点,尤其适用于绕线设备、包装机械等中小型单轴或多轴运动控制系统。本文以西门子S7-1200 PLC搭配汇川SV660F伺服为例,完整梳理了从GSDMD组态、InoDri

weixin_29184371的博客 227

Scala学习(一)

概述 Scala⽤⼀种简洁的⾼级语⾔将 ⾯向对象 和 函数式编程 结合在⼀起。传统业务开发- 领域模型设计(⾯向对象开发); ⼤数据开发 - 数据集计算模型-(函数式编程)。 函数编程 强调的是程序对数据的运⾏算能⼒。在 ⾯向对象计算数据 的时候采取代码不动移动数据.在 函数式编程计算 的时候数据不动代码动。 Scala是⼀⻔多范式的编程语⾔,同时⽀持⾯向对象和⾯向函数编程⻛格。它以⼀种优雅的⽅式...

qq_36915093的博客 476

cadence数模混合仿真反标sdf

数模混合IC设计时经常要调用一些Verilog模块(最简单的例如SPI接口),在前仿时一般直接用rtl代码来仿真,但是后仿时要关注因寄生带来的延迟,避免这些额外的延迟导致时序错误,因此不能简单地采用RTL来仿真。 一般有两种办法:1是采用由RTL综合得到的门级电路来仿真,这种方法比较简单,但是缺点是规模较大,而且只包括门延迟不包括因版图导致的线延迟;如果想要仿真更精细,就要对该这部分门电路提取寄生参数; 另一种方式是利用sdf文件(standard delay format)来进行仿真。后端工具在布局布

长河柱天的博客 7274

快速入门Scala(六):数组与集合

Scala中提供的数组(Array)是用来存储固定大小的同类型元素,数组对于每一门编辑应语言来说都是重要的数据结构之一。除此之外,Scala还提供了一套很好的集合( Collection)实现,提供了一些集合类型的抽象。 数组 数组声明的语法格式: var z:Array[String] = new ArrayString 或 var z = new ArrayString...

冯·诺依曼 17万+

上位机介绍:C# 开发者的必知基础

上位机是指在工业控制系统中,位于上层、负责人机交互和数据管理的计算机/软件,与“下位机”(PLC、传感器、变频器、单片机等硬件设备)相对应,核心是“向下通信控制设备,向上展示交互数据”。下位机:一线干活的“工人”(执行采集、控制指令);上位机:指挥管理的“办公室人员”(发指令、看数据、做报表)。C#开发者掌握上位机开发的核心是“通信+UI+稳定性基础层:搞懂WinForms/WPF基础、串口/Modbus通信,能实现核心功能;进阶层:掌握分层设计、异步编程、工业级容错(断线重连、数据校验);

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1559

使用R语言获取泊松回归模型的事件密度比(Incidence Rate Ratio,IRR)的95%置信区间

在泊松回归模型中,我们通常关注的是自变量对事件发生率的影响,而事件密度比(Incidence Rate Ratio,IRR)可以帮助我们理解不同自变量对事件发生率的相对影响。在本文中,我们将使用R语言来获取泊松回归模型所有系数的事件密度比的95%置信区间。通过以上步骤,我们可以使用R语言获取泊松回归模型所有系数的事件密度比的95%置信区间。为了获取事件密度比的置信区间,我们将使用。使用R语言获取泊松回归模型的事件密度比(Incidence Rate Ratio,IRR)的95%置信区间。

BugCrusher的博客 1264

Scala:Array(集合、序列)

数组是一种可变的、可索引的数据集合。在Scala中用Array[T]的新式来表示Java中的数组形式 T[]。 val numbers = Array(1, 2, 3, 4) //声明一个数组对象 val first = numbers(0) // 读取第一个元素 numbers(3) = 100 // 替换第四个元素为100 val biggerNumbers = numbers.map(_

bdmh的专栏 6万+

AutoSAR EcuM系列01- EcuM模块的功能概述和变体类型

在【ECU的软硬件架构】文章中我们了解ECU的功能和组成,那么ECU具体是怎么启动的呢?我们知道,AutoSAR标准架构有三层,即APPL应用层、RTE层和BSW层。而这些层又被进一步划分为更多单独的组件,如BSW层可能有80多个组件。在ECU启动时,这些组件必须相互交互,有时也必须以某种顺序交互。这些组件的启动顺序由ECU管理器模块或EcuM处理。EcuM负责整个ECU的初始化和去初始化,包括对一些系统模块如。......

1766

Scala01 —— Scala基础

Scala基础详解

Byyyi耀的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

scala的面向对象与集合

一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 继承自相同的 trait(TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala 采用了。由于一个类可以混入(mixin)多个 trait,且 trait 中可以有具体的属性和方法,若混入的特质中具有相同的方法(方法名,参数列表,返回值均相同),必然会出现继承冲突问题。3. Scala 不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象, 而不会对原对象进行修改。

2401_82425686的博客 1142

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Scala编程基础

目录 一 Scala概述 1.1 什么是scala 1.2 为什么要学scala 1.3 Spark函数式编程初体验 二 Scala开发环境 2.1 安装JDK 2.2 安装Scala 2.2.1 Windows安装Scala编译器 2.2.2 Linux中安装Scala编译器 2.3 IDEA安装 2.4 Scala插件离线安装 2.5 IDEA创建Scala工程 ...

我的祖传代码 3813

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Scala集合及常用方法

定长、变长、多维数组定义、索引切片;map映射,reduce聚合,folder折叠,filter过滤,foreach循环,count计数,sort排序,drop删除,flatten拉直,partition分区;

me_to_007的博客 3127

Scala——集合

Scala——集合7 集合7.1 集合简介7.2 数组7.3 列表List7.4 Set集合7.5 Map集合7.6 元组7.7 集合常用函数7.8 队列7.9 并行集合 7 集合 7.1 集合简介 集合简介: (1)Scala 的集合有三大类:序列 Seq、集 Set、映射 Map,所有的集合都扩展自 Iterable特质。 (2)对于几乎所有的集合类,Scala 都同时提供了可变和不可变的版本,分别位于以下两个包 不可变集合:scala.collection.immutable 可变集合: scala.

qq_42873479的博客 3282

【Scala进阶】Scala中如何将Java集合实例对象转换为Scala实例对象(互相转换)

目录scala、java双向转化通过asJava进行Scala到Java的单向转换通过asScala进行Java到Scala的单向转换具体描述性的名称显示调用Scala转JavaJava转Scala 目前开发语言众多,在开发中,可能会遇到Java,Scala混合系统,但因java,scala中的集合对象不一致,会致使在开发中遇到很多问题,得需要两种语言集合的互相转换。Scala从2.8.1开始引...

fuyun6363的博客 5470

Scala集合常用函数超详细

大家好,我是楚生辉,在未来的日子里我们一起来学习Scala相关的技术,一起努力奋斗,遇见更好的自己!Scala是一门的编程语言,一种类似的编程语言,设计初衷是实现可伸缩的语言 、并集成和的各种特性。今天着重分享一下集合常用函数相关知识,有需要的小伙伴可以自行获取与学习~

楚生辉的博客 1万+

第十章 Scala基础——集合

不管是用Scala编写软件,还是用Chisel开发硬件电路,集合都是非常有用的数据结构。Scala里常见的集合有:数组、列表、集、映射、序列、元组、数组缓冲和列表缓冲。了解这些集合的概念并熟练掌握基本使用方法,对提高工作效率大有帮助。本章的内容便是逐一讲解这些集合类,所涉内容均为基础,对编写、阅读Chisel代码有用即可。如果想深入了解集合的原理,请读者自行学习。 一、数组 数组是最基本的集合...

qq_34291505的博客 7366

Scala集合

一、集合的简介 1)Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质。 2)对于几乎所有的集合类,Scala都同时提供了可变和不可变的版本,分别位于以下两个包 不可变集合:scala.collection.immutable 可变集合:scala.collection.mutable 3)Scala不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象,而不会对原对象进行修改。类似于java中的String对象 4)可变集合,就是这个集

Markble 6538

Scala基础知识6

第二种,一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 继承自相同的 trait(TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala 采用了。第一种,一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 之间没有任何关系,解决这类冲突问题,直接在类(Sub)中重写冲突方法。特质定义:使用 trait关键字定义特质,特质可以包含抽象属性和方法,也可以包含具体属性和方法。

2402_87382235的博客 2217

scala List集合的用法

一、前言: 人们常说,Scala是一个难掌握的语言,一是其面向函数和面向对象结合的原因,二是其丰富的语法和内置函数。 对于Conllection 这一章的内容,更多的是利用内置函数灵活地运用,避免自己重复造轮子(要求性能高除外) 对于集合,通常来说有以下几个常用操作是必须掌握的: 1.增删改查单个元素 2.单个集合的各种遍历方式 3.单个集合分拆组合与翻转

残缺的歌的专栏 4万+

Scala中集合的使用

Scala中集合的使用

qq_57691507的博客 1950

Scala 的Map集合

在Scala中,有两种创建Map的方式,分别是Map(k1->v1,k2->v2,..和Map((k1,v1),(k2,v2),...。在Scala中,可以同时使用可变与不可变的Map集合,不可变的直接使用Map,可变的使用mutable.Map。上述创建Map的方式是不可变的, 如果想创建可变的Map,需要导入指定的包,创建方式与不可变的方式相同。Map(映射)是一种可迭代的键值对(Key/Value)结构,所有值都可以通过键来获取,Map中的键都是唯一的。1.Scala的Map的定义。

2301_81748087的博客 1574
上一篇: Scala基础应用(5)- 函数式编程
下一篇: Scala基础应用(7)- map/flatMap和filter
Topurce
博客等级 码龄16年 13粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值