记录一下,Scala集合:
List Map Set Iterator Option[T]
List: 是一个不可变的列表,列表都有相同的数据类型
#创建空列表
val empty: List[Nothing] = List() 或者 val empty = Nil
#创建二维列表:
val dim: List[List[Int]] = List(List(1,2,3,4),List(5,6,7))
#使用Nil 与 :: 创建列表, Nil表示一个列表:
val data = "data"::("udat":Nil) 等效于 val data = List("data", "udat")
#List 列表的连接 ::: 与List.:::
var data1 = List(1,2,3)
var data2 = List(4,5,6)
var total = data1:::data2 #结果是data1 + data2
var total = data1.:::(data2) 结果是data2 + data1
var total = List.concat(data1, data2) #结果是 data1 + data2
#List 填充:
List.fill(3)("run") #结果: List("run","run","run")
集合Set:
1. Set集合存放的是不重复的元素(应该也是无序的)
2. Set集合有两种,1. 可变集合, 2. 不可变的集合
3. 默认是不可变的集合
使用可变的Set,必须先导入:
import scala.collection.mutable.Set
#不可变集合:
val data = Set(1,2,3)
data.drop(n)去掉前n个
#可变集合;
val data = Set(2,3,4)
data.add(5)
data += 5
去除元素:
remove(5)
不可变与可变集合都据有的方法:
data.getClass.getName
data.exists(_ % 2 == 0)
data.head
data.tail
data.siEmpty
集合的合并操作: ++ 或 Set.++()
集合的交集: Set.&() 或 Set.intersect()
集合的其他属性:
data.min
data.max
Map集合:
#创建空集合
var A:Map[Char,Int] = Map()
创建集合:
var color = Map("red" -> "#Ff000", "green" -> "#ffddd")
color += ("gray" -> "#fdsdf")
Map集合合并:
Map.++ 或 ++ 与Set相同
Map属性:
Map.keys /Map.values
遍历Map:
color.keys.forearch{
i =>
println(i)
println(color(i))
}
查看key green是否存在:
color.contains("green")
元组:
val data = (1, 2, 3)
获取元素的值:
data._1
data._2
data._3
迭代器:
#创建迭代器:
val it = Iterator(3,4,5)
#迭代器具有的方法与属性
hasNext
next()
min
max
size
length
遍历:
while(it.hasNext){
println(it.next())
}
Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some[T] ,如果不存在, Option[T] 就是对象 None 。
al sites = Map("runoob" -> "www.runoob.com", "google" -> "www.google.com")
println("sites.get( \"runoob\" ) : " + sites.get( "runoob" )) // Some(www.runoob.com)
println("sites.get( \"baidu\" ) : " + sites.get( "baidu" )) // None