Scala集合
- 数组
- Map
- List
- Option&Some&None
- Set
- Tuple
println("hello world!!")
var arr = new Array[String](4)
arr.length
arr(1) = "hello"
// 默认使用apply方法
arr = Array("1", "2")
// 数组转字符串 <1,2> 支持单个分隔符
println(arr.mkString("<", ",", ">"))
// 可变数组 支持动态增长
val mutableArray = scala.collection.mutable.ArrayBuffer[Int]()
mutableArray += 100
mutableArray += (1, 2)
mutableArray ++= Array(1, 2)
mutableArray.insert(5, 112)
mutableArray.remove(0, 2)
// mutableArray.trimEnd(3)
println(mutableArray.mkString(","))
//变为不可变数组
mutableArray.toArray
// 遍历
for (i <- mutableArray) {
println(i)
}
for (i <- (0 until mutableArray.length).reverse) {
println(mutableArray(i))
}
println(mutableArray.max, mutableArray.sum, mutableArray.min, mutableArray.count({ x: Int => x > 2 }))
//Nil 空集合
var list = List(1, 2, 3, "4", Array(1, 2))
// 头元素
list.head
// 除头元素后的元素
list.tail
list = 1 :: list
list = list :: Nil
println(list.mkString(","))
// 可变list
val listBuffer = scala.collection.mutable.ListBuffer[Int]()
listBuffer += 1
listBuffer ++= List(1, 4, 7)
listBuffer -= 10
println(listBuffer.mkString(","))
for (item <- listBuffer) {
println(item)
}
for (item <- listBuffer.indices.reverse) {
println(listBuffer(item))
}
listBuffer.toList
listBuffer.toArray
listBuffer.isEmpty
listBuffer.tail.head
listBuffer.sum
println(sum(listBuffer: _*))
def sum(num: Int*): Int = {
if (num.isEmpty) {
0
} else {
num.head + sum(num.tail: _*)
}
}
// set 去重
val set = Set(1, 2, 4, 2)
println(set.mkString(" "))
scala.collection.mutable.Set[Int]()
// map
val map = Map("1" -> "2", 1 -> 2)
println(map.get("1").getOrElse("2"))
println(map("1"))
println(map.mkString(","))
println(map.values.foreach(x => println("打印", x)))
val addMap = map ++ Map(111 -> 222)
println(addMap)
Some(2)
None
val tuple = Tuple3(1, 2, "2")
println(tuple._1, tuple._2, tuple._3)
tuple.productIterator.foreach(item => print(item))