scala学习第三天

本文详细介绍了Scala中List和Set的数据结构及其常见操作,包括列表的创建、元素查找、反转、扁平化、拉链与拉开,以及Set的特性、不可变与可变集合操作、并集、交集和差集。深入理解这些技术有助于提升Scala编程能力。

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

列表常用的方法:

//列表的常用操作
//    定义一个列表,包含一个元素
//    定义一个列表
    val a35=ListBuffer(1,2,3,4)
    val a36=ListBuffer(5,6,7,8)
    println(a35.isEmpty)     //通过isEmpty判断是否为空
    println(a35++a36)     //将两个列表进行拼接  ++

//    获得列表的首个元素和剩余部分
//    定义一个列表,包含以下几个元素 ,用head方法获取列表的首个元素
//    使用tail方法获取除第一个元素之外的元素,它也是一个列表
    println(a35.head)
    println(a35.tail)

//    反转列表
//    使用reverse 方法将列表的元素进行反转
    println(a35.reverse)


//    获取列表的前缀和后缀
//    使用take方法获取前缀(前三个元素)
//    使用drop方法获取后缀(除前三个以外的元素)
    println(a35.take(2))//参数表示获取几个元素的前缀
    println(a35.drop(3))//获得后几个元素的后缀


//    扁平化操作
//    扁平化表示将列表中的列表中的所有元素放到一个列表中
    val a37=ListBuffer(1,2,3)
    val a38=ListBuffer(4,5,6)
    val a39=ListBuffer(7,8,9)
    val a40=ListBuffer(a37,a38,a39)
    a40.flatten
    println(a40)
    println(a40.flatten)

//    拉链和拉开
//    拉链:使用zip将两个列表,组合成一个元素为元素为元组的列表
//    拉开:将一个包含元组的列表,拆分成包含两个列表的元组
//    拉链操作
    val a41=a37.zip(a38)
    println(a41)
    a41.zip(a39)
    println(a41.zip(a39))

//    拉开操作:
    println(a41.unzip)

//    转化字符串   将List列表转化成字符串
    a41.toString
    println(a41.toString)
    println(a38.toString)

//    生成字符串  使用mkString方法,可以将元素以分隔符拼接起来,默认没有分割符
    a38.mkString
    println(a38.mkString)
    println(a38.mkString(":"))

//    并集
    val a42=ListBuffer(1,2,3,4,5)
    val a43=ListBuffer(3,4,5,6,7)
//    使用union操作,可以获取这两个列表的并集
    println(a42.union(a43))//取并集但不会去重
    println(a42.union(a43).distinct)//取并集并去重

//    交集
    println(a42.intersect(a43))//取交集

//    取差集
    println(a42.diff(a43))  //即a42存在,但a43中不存在的值

集合:

//    Set    代表没有重复元素的集合,Set具有以下两个性质
//        两个原则:    元素不重复 , 不保证插入顺序
//      在Set集合中也有两种:一种为不可变类型集合,另一种是可变集


//    不可变集
    val a44=Set[Int]();
    val a45=Set(1,2,4,5,6,2,3,8)
    println(a45)   //元素不重复,且不保证插入顺序


//    不可变集合的基本操作   (因为不可变,所以不能追加,即不能使用 += -=)
    a45.size   //获取值的大小
    println(a45.size)
    a45+88      //添加操作
    println(a45+88)
    a45-4
    println(a45-4)
    val a46=Set(8,5,6,9,6)
    a45++a46    //拼接两个集合,生成一个Set
    println(a45++a46)
    val a47=ListBuffer(1,2,3,4,5,55,66)
    a45++a47
    println(a45++a47)
    for(i<-a45) println(i)   //遍历一个集合

//    可变集(可追加)
//    创建一个可变集和创建一个不可变集的方式是一样的,只不过提前要导入一个可变集类
//    import scala.collection.mutable.Set
    val a48=mutable.Set(1,2,3,4)
    a48+=5
    println(a48)//追加一个元素
    a48-=2
    println(a48)//删除一个元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值