scala集合

1、定长数组
在这里插入图片描述
在这里插入图片描述
2、变长数组
package com.imooc.scala.Scala5

object ArrayAPP {

def main(args: Array[String]): Unit = {
//声明数组固定长度
val a = new ArrayString
//直接赋值
val b = Array(“111”,“222”,“333”)

val c = Array(1,2,3,4,5,6,7)
a(1) = "hell" //赋值
b(1) //取值

c.max//取最大值
c.min//取最小值
c.sum//求和

c.mkString//转换成字符串
c.mkString(",")//以,分割转换成字符串
c.mkString("<",",",">")//以逗号分割以<>包这转换成字符串

//可变数组
val d = scala.collection.mutable.ArrayBuffer[Int]()
d += 1 //添加元素
d += 2 //添加元素
d += (3,4,5,6,7) //批量添加
d ++= Array(8,9,10,11,12) //添加数组
d.insert(0,0) //插入数据
d.remove(1) //删除数据
d.remove(0,3) //删除数据长度3
d.trimEnd(2) //从尾部删除数据 长度3
d.toArray //转为不可变数组

//遍历数组方法一
for (i <- 0 until d.length){
  println(d(i))
}

//遍历数组方法二 用的最多
for (i <- d){
  println(i)
}
//遍历数组 取反
for (i <- (0 until d.length).reverse){
  println(d(i))
}

}
}
3、List
Nil不可变的list
list 是由head头和tail尾构成的
scala 两个::是拼接的意思
在这里插入图片描述
在这里插入图片描述
长度
在这里插入图片描述
变长数组
package com.imooc.scala.Scala5

object ListAPP extends App {
val l5 = scala.collection.mutable.ListBufferInt//变长数组
l5 += 2 //加一个元素
l5 += 3
l5 += (4,5,6)//加一连串元素
l5 ++= List(7,8,9)//加一个list集合

l5 -= 2 //减一个元素
l5 -= 3
l5 -= (1,4)//减一串元素
l5 --= List(5,6,7,8)//减一个List集合

l5.toList //转换成定长list
l5.toArray//转换成数组
l5.isEmpty //判断是否为空

def sum(nums:Int*):Int = {
if (nums.length == 0){
0
}else{
nums.head + sum(nums.tail:*)//:*可以把这个变成可变的
}
}

}
4、Set
val l6 = Set(1,2,3,45,6,7,8,9,1,1,1,1,1,1) //定长set 不可重复
val l7 = scala.collection.mutable.Set[Int] //可变的 其他用法和List一样
5、Map
val l8 = Map(“zhangsan” -> 12,“wangwu” ->15) //定长Map
val l9 = scala.collection.mutable.MapString,Int //可变
val l10 = scala.collection.mutable.HashMapString,Int
l9(“lisi”) = 40 //加一个
l9 += (“aaa”->11,“bbb”->12)

l9.get(“aaa”).get //取值
l9.getOrElse(“ccc”,5)//取值如果没有默认赋值一个5

//遍历MAP_1
for ((key,value) <- l9){
println(key + “:” + value)
}

//遍历MAP_2
for (key <- l9.keySet){
println(key + “:” + l9.get(key).get)
}

//遍历MAP_3
for (value<- l9.values){
println(value)
}
6、Option&Some&None
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值