1. Establecer
- Desordenado, único y similar a Java
- Variable e inmutable
Conjunto inmutable:
语法:
1) 创建一个空的不可变集,语法格式:
val/var 变量名 = Set[类型]()
2) 给定元素来创建一个不可变集,语法格式:
val/var 变量名 = Set(元素1, 元素2, 元素3...)
- Operaciones básicas de conjuntos inmutables:
- Obtenga el tamaño del conjunto (tamaño)
- Conjunto poligonal (coherente con la matriz poligonal)
- Agregar un elemento, generar un Conjunto (+)
- Une dos conjuntos para generar un conjunto (++)
- Combinar conjuntos y listas para generar un conjunto (++)
//定义
scala> val a = Set(15000,18000,20000,25000)
a: scala.collection.immutable.Set[Int] = Set(15000, 18000, 20000, 25000)
//获取长度
scala> a.size
res19: Int = 4
//遍历
scala> for(i<-a)println(i)
15000
18000
20000
// 拼接两个集
scala> a ++ Set(6,7,8)
res2: scala.collection.immutable.Set[Int] = Set(5, 1, 6, 2, 7, 3, 8, 4)
// 拼接集和列表
scala> a ++ List(6,7,8,9)
res6: scala.collection.immutable.Set[Int] = Set(5, 1, 6, 9, 2, 7, 3, 8, 4)
Conjunto mutable: La operación es la misma que la del conjunto de variables, es decir, es necesario importar el paquete import scala.collection.mutable.Set
2. Mapeo
- El mapa se puede llamar mapeo. Es una colección de pares clave-valor. En scala, Map también se divide en Map inmutable y Map mutable.
Mapa inmutable:
语法:
val/var map = Map(键->值, 键->值, 键->值...) // 推荐,可读性更好
val/var map = Map((键, 值), (键, 值), (键, 值), (键, 值)...)
看例子:
scala> val map = Map("liuafu"->23,"hurong"->23)
map: scala.collection.immutable.Map[String,Int] = Map(liuafu -> 23, hurong -> 23)
//根据键获取值
scala> map("liuafu")
res24: Int = 23
Mapa variable: la sintaxis de la definición es coherente con el mapa inmutable. Pero para definir un mapa variable, debe importar manualmente import scala.collection.mutable.Map
Acerca de las operaciones básicas de Map:
- Obtener valor (mapa (clave))
- Obtener todas las claves (map.keys)
- Obtener todos los valores (map.values)
- Atraviesa la colección de mapas
- getOrElse
- Aumentar clave, par de valores +
- Eliminar clave
scala> val map = Map("liuafu"->23,"hurong"->23)
map: scala.collection.immutable.Map[String,Int] = Map(liuafu -> 23, hurong -> 23)
//获取值
scala> map("liuafu")
res24: Int = 23
//获取所有key
scala> map.keys
res25: Iterable[String] = Set(liuafu, hurong)
//获取所有值
scala> map.values
res26: Iterable[Int] = MapLike(23, 23)
//打印所有的学生姓名和年龄
scala> for((x,y) <- a) println(s"$x $y")
lisi 40
zhangsan 30
3. iterador
- Igual que en Java
scala> val a = List(18000,20000,22000)
a: List[Int] = List(18000, 20000, 22000)
scala> a.iterator
res29: Iterator[Int] = non-empty iterator
scala> for(i <- a)println(i)
18000
20000
22000