Scala常用类

主目录

常用类

Array
  • 长度不可改变的数 组
val a = Array("hello", "world")
//或者使用new创建
val a = new Array[String](10)
a(0) = "hi"
//排序
scala.util.Sorting.quickSort(a)
ArrayBuffer

类似java的ArrayList,长度可变

import scala.collection.mutable.ArrayBuffer
val b = ArrayBuffer[Int]()
// 使用+=操作符,可以添加一个元素,或者多个元素
b += 1
b += (2, 3, 4, 5)
// 使用++=操作符,可以添加其他集合中的所有元素
b ++= Array(6, 7, 8, 9, 10)
// 使用trimEnd()函数,可以从尾部截断指定个数的元素
b.trimEnd(5)
// 使用insert()函数可以在指定位置插入元素
// 但是这种操作效率很低,因为需要移动指定位置后的所有元素 b.insert(5, 6)
b.insert(6, 7, 8, 9, 10)
// 使用remove()函数可以移除指定位置的元素
b.remove(1)
b.remove(1, 3)
// Array与ArrayBuffer可以互相进行转换
b.toArray
a.toBuffer
  • 列表通用常用操作
//列表元素拼接
val a = Array(1, 2)
a.mkString(",")  //输出1,2
a.mkString("<", ",", ">")//输出<1,2>
//使用yield转换列表
val a = Array(2,3)
val a2 = for (ele <- a) yield ele * ele
元组Tuple
val person = ("Leo", 30) //元素可以有多个
// 访问Tuple 
person._1 //Leo
不可变Map
val ages = Map(("Leo", 30), "Jen" -> 25, "Jack" -> 23)//参数可以使用元组
//添加元素会报错,ages("Leo") = 31
// 更新不可变的map
val ages = ages + ("Mike" -> 36, "Tom" -> 40) // 移除不可变map的元素
val ages = ages - "Tom"
可变Map
val ages = scala.collection.mutable.Map(("Leo", 30), "Jen" -> 25, "Jack" -> 23) 
ages("Leo") = 31
// 创建一个空的HashMap
val ages2 = new scala.collection.mutable.HashMap[String, Int]
// 访问Map的元素    
// 获取指定key对应的value,如果key不存在,会报错 val leoAge = ages("Leo")
// 使用contains函数检查key是否存在
val leoAge = if (ages.contains("leo")) ages("leo") else 0
// getOrElse函数
val leoAge = ages.getOrElse("leo", 0)
// 修改Map的元素
// 更新Map的元素
ages("Leo") = 31
// 增加多个元素
ages += ("Mike" -> 35, "Tom" -> 40) // 移除元素
ages -= "Mike"
// 遍历map的entrySet
for ((key, value) <- ages) println(key + " " + value) // 遍历map的key
for (key <- ages.keySet) println(key)
// 遍历map的value
for (value <- ages.values) println(value)
增强型Map
  • 排序Map:SortedMap
// SortedMap可以自动对Map的key的排序
val ages = scala.collection.immutable.SortedMap("leo" -> 30, "alice" -> 15, "jen" -> 25)
  • LinkedHashMap
// LinkedHashMap可以记住插入entry的顺序
val ages = new scala.collection.mutable.LinkedHashMap[String, Int] ages("leo") = 30
ages("alice") = 15
ages("jen") = 25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值