Scala基础知识入门——集合的创建、处理细节

本文深入讲解Scala的基础集合概念,包括不可变与可变集合,涵盖数组、元组、列表、队列、Map和Set的操作。讨论了map、flatmap、filter、reduce等集合操作,以及集合的转换和映射技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Scala基础知识入门——集合

一、scala集合基本介绍

  1. Scala同时支持不可变集合和可变集合
  2. 两个主要的包:
    不可变集合:scala.collection.immutable
    可变集合: scala.collection.mutable
  3. Scala默认采用不可变集合,对于几乎所有的集合类,Scala都同时提供了可变(mutable)和不可变(immutable)的版本
  4. Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质,在Scala中集合有可变(mutable)和不可变(immutable)两种类型。

二、定长数组

  1. 定义:① val arr1 = new ArrayInt ;② val arr1 = Array(1, 2)
  2. 添加元素:① arr1(0)=1 ;② 通过遍历添加;

三、变长数组

  1. 定义:val arr2 = ArrayBufferInt
    赋值:arr2.append(7) arr2(0) = 7
  2. 注意:每append一次,arr在底层会重新分配空间,进行扩容,arr2的内存地址会发生变化,也就成为新的ArrayBuffer
  3. 定长与变长互转
    arr1.toBuffer  //定长数组转可变数组
    arr2.toArray  //可变数组转定长数组
    说明:
    arr2.toArray 返回结果才是一个定长数组, arr2本身没有变化
    arr1.toBuffer返回结果才是一个可变数组, arr1本身没有变化
  1. Scala数组与Java List互转
val arr = ArrayBuffer("1", "2", "3") //Scala集合
import scala.collection.JavaConversions.bufferAsJavaList
val javaArr = new ProcessBuilder(arr) //Java集合
val arrList = javaArr.command() //Scala集合
  1. Scala数组与Java数组的互转
import scala.collection.JavaConversions.asScalaBuffer
import scala.collection.mutable
// java.util.List ==> Buffer
val scalaArr: mutable.Buffer[String] = arrList
scalaArr.append("jack")

四、多维数组

  1. 定义:val arr = Array.ofDim[Double](3,4)
//说明:
arr 是一个二维数组
有三个元素[一维数组]
每个一维数组存放4个值
//赋值
arr(1)(1) = 11.11

五、元祖Tuple

  1. 元组也是可以理解为一个容器,可以存放各种相同或不同类型的数据。就是将多个无关的数据封装为一个整体,称为元组注意:元组中最大只能有22个元素。
  2. 创建
    ① va
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值