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 函数,实现自定义排序的逻辑

相关推荐
间彧2 分钟前
列式存储实现方案与关键技术框架
后端
间彧2 分钟前
主流OLAP工具对比分析:Kylin、Druid与ClickHouse的适用场景
后端
hui函数5 分钟前
python全栈(基础篇)——day03:后端内容(字符串格式化+简单数据类型转换+进制的转换+运算符+实战演示+每日一题)
开发语言·后端·python·全栈
间彧6 分钟前
SpringBoot项目实现分布式事务实战指南
后端
寻星探路7 分钟前
Java EE初阶启程记09---多线程案例(2)
java·开发语言·java-ee
FIN666815 分钟前
募投绘蓝图-昂瑞微的成长密码与未来布局
前端·后端·5g·云原生·信息与通信·射频工程·芯片
间彧15 分钟前
分布式系统中跨服务事务一致性的实现与解决方案
后端
间彧17 分钟前
OLTP场景解析:联机事务处理的核心应用领域
后端
间彧18 分钟前
OLAP系统详解:联机分析处理的核心技术与应用
后端
间彧30 分钟前
Spring Boot事务与数据库事务隔离级别的深度解析与选择策略
后端