Scala数组

数组

  • 可变数组:以 ArrayBuffer 创建,可灵活增删改元素 ,如 ArrayBuffer(1, 2, 3) ,并通过 append 等方法操作。
  • 不可变数组:由 Array 构建,创建后元素不可变,可借助 toBuffer 等方法转换为可变形式 ,像 Array(1, 2, 3) 。

arr1.toBuffer // 组转

arr2.toArray //可变 不可 数组

  • 多维数组:用 Array.ofDim 创建,如 Array.ofDim[Int](3, 4) 表示3行4列数组 。

列表

  • 不可变List:默认不可变,元素有序且可重复,支持创建、元素添加(如 :+ 操作 )、扁平化等操作 ,示例 List(1, 2, 3) 。
  • 可变ListBuffer:可变集合,通过 collection.mutable.ListBuffer 导入,可实现元素的增删 ,如 ListBuffer(1, 2, 3) , += 添加元素 。

集合

  • 不可变Set:元素无序且唯一,可进行常规创建、添加( + )、删除( - )元素操作 ,例如 Set(1, 2, 3) 。
  • 可变HashSet:借助 scala.collection.mutable.HashSet 导入,具备可变特性,能对元素进行增删 ,如 HashSet(1, 2, 3) 。
    1. 创建可变集合 mutable.Set
    2. 打印集合
    3. 集合添加元素
    4. 向集合中添加元素,返回一个新的 Set
    5. 删除数据

元组

能容纳不同类型元素,通过索引访问 ,例如 (1, "abc", 3.0) ,使用 ._1 、 ._2 等访问对应位置元素 。

Map

  • 不可变Map:以键值对形式存在,不可变,可创建、查找 ,如 Map("key1" -> 1, "key2" -> 2) , get 方法取值 。
    1. 创建不可变集合 Map
    2. 循环打印
    3. 访问数据
    4. 如果 key 不存在,返回 0
  • 可变mutable.Map:经 scala.collection.mutable.Map 引入,可变,可进行键值对的增删改 ,如 mutable.Map("key" -> 1) 。
    1. 创建可变集合
    2. 打印集合
    3. 向集合增加数据
    4. 删除数据

集合常用函数

基本属性和常用操作

获取集合 长度获取集合大小 循环遍历 迭代器 生成字符串 是否包含

衍生集合

    1. 获取集合的头
    1. 获取集合的尾(不是头的就是尾)
    2. 集合最后一个数据
    3. 集合初始数据(不包含最后一个)
    4. 反转
    5. 取前(后)n 个元素
    6. 去掉前(后)n 个元素
    7. 并集
    8. 交集
    9. 差集
    10. 拉链
    11. 滑窗

集合计算简单函数

    1. 求和
    2. 求乘积
    3. 最大值
    4. 最小值
    5. 排序
  1. sorted

对一个集合进行自然排序,通过传递隐式的Ordering

  1. sortBy

对一个属性或多个属性进行排序,通过它的类型。

  1. sortWith

基于函数的排序,通过一个 comparator 函数,实现自定义排序的逻辑

相关推荐
Yue丶越2 分钟前
【C语言】自定义类型:联合体与枚举
c语言·开发语言
小哀26 分钟前
🌸 入职写了一个月全栈next.js 感想
前端·后端·ai编程
ziwu9 分钟前
【民族服饰识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积网络+resnet50算法
人工智能·后端·图像识别
程序员Easy哥10 分钟前
ID生成器第一讲:原理和常见几种生成器
后端
q***735512 分钟前
SpringBoot中使用TraceId进行日志追踪
spring boot·后端·状态模式
Penge66618 分钟前
Elasticsearch 跳表(Skip List):有序结果合并的 “性能电梯”
后端
Penge66629 分钟前
Elasticsearch BKD 树与 PointRangeQuery:为何数值查询会有性能瓶颈
后端
csbysj202036 分钟前
DOM 节点
开发语言
木木一直在哭泣41 分钟前
【收藏级】Java Stream.reduce 全面解析:从零到通透(原理图 + 实战 + 最佳实践)
后端
Penge66642 分钟前
Elasticsearch Filter 缓存:Bitset 如何让查询速度飙升
后端