List
// 字符串列表 val site: List[String] = List("Runoob", "Google", "Baidu") // 整型列表val nums: List[Int] = List(1, 2, 3, 4) // 空列表val empty: List[Nothing] = List() // 二维列表val dim: List[List[Int]] = List( List(1, 0, 0), List(0, 1, 0), List(0, 0, 1) )
构造列表的两个基本单位是 Nil 和 ::
Nil 也可以表示为一个空列表。
// 字符串列表 val site = "Runoob" :: ("Google" :: ("Baidu" :: Nil)) // 整型列表 val nums = 1 :: (2 :: (3 :: (4 :: Nil))) // 空列表 val empty = Nil // 二维列表 val dim = (1 :: (0 :: (0 :: Nil))) :: (0 :: (1 :: (0 :: Nil))) :: (0 :: (0 :: (1 :: Nil))) :: Nil
Scala列表有三个基本操作:
-
head
返回列表第一个元素 -
tail
返回一个列表,包含除了第一元素之外的其他元素 -
isEmpty
在列表为空时返回true连接列表
你可以使用 ::: 运算符或 List.:::() 方法或 List.concat() 方法来连接两个或多个列表。实例如下:
object Test { def main(args: Array[String]) { val site1 = "Runoob" :: ("Google" :: ("Baidu" :: Nil)) val site2 = "Facebook" :: ("Taobao" :: Nil) // 使用 ::: 运算符 var fruit = site1 ::: site2 println( "site1 ::: site2 : " + fruit ) // 使用 List.:::() 方法 fruit = site1.:::(site2) println( "site1.:::(site2) : " + fruit ) // 使用 concat 方法 fruit = List.concat(site1, site2) println( "List.concat(site1, site2) : " + fruit ) }}
List.fill()
我们可以使用 List.fill() 方法来创建一个指定重复数量的元素列表:
List.tabulate()
List.tabulate() 方法是通过给定的函数来创建列表。
方法的第一个参数为元素的数量,可以是二维的,第二个参数为指定的函数,我们通过指定的函数计算结果并返回值插入到列表中,起始值为 0,
List.reverse
List.reverse 用于将列表的顺序反转
Map
// 空哈希表,键为字符串,值为整型 var A:Map[Char,Int] = Map() // Map 键值对 val colors = Map("red" -> "#FF0000", "azure" -> "#F0FFFF") 需要为键值对定义类型。如果需要添加 key-value 对,可以使用 + 号,如下所示: A += ('I' -> 1) A += ('J' -> 5) A += ('K' -> 10) A += ('L' -> 100 Map 基本操作 keys 返回 Map 所有的键(key) values 返回 Map 所有的值(value) isEmpty 在 Map 为空时返回true
Map 合并
你可以使用 ++ 运算符或 Map.++() 方法来连接两个 Map,Map 合并时会移除重复的 key。