标签:
VI.Collections
1.Array
println,
map( _ * 2),
filter(_ % 2 == 0), sum, reserve
prepend, trimEnd, insert
2.List 在List的头部进行操作,比尾部效率要高,这是因为List是由单链表实现,访问第一个元素只需要O(1)的时间,而最后一个元素则需要O(n)。
1)Nil对象是一个特殊的List对象,其类型是List[Nothing],可用于任何需要List类型实例的场合。
2)构建List:
::
操作符是List特有的方法,属于右结合操作符,适合于List这样在头部操作效率较高的数据结构。range[Int](1,6,2)
range[Char](‘a‘,‘c‘)
3)常用操作
4)List是不可变的,在头部操作效率比较高。如果你需要频繁的更改元素,而且在尾部的操作比较多,可以使用对应的可变集合,ListBuffer。 在ListBuffer上prepend(+=)和append(+=:)操作都是常数时间O(1)。与ArrayBuffer相似,在构建完毕之后,可以使用toList得到不可变的List。
buffer += 2 buffer.+=:(1) // equals to ‘1 +=: buffer‘
3.Set
不同于List和Array,Set分为可变Set和不可变的两个版本。
4.Map
Map与Set类似,按可变性,可分为可变Map和不可变Map,按照内部实现,可分为HashMap和TreeMap。
->
标识一个键值对,(a -> b)等价于(a, b)。val scores = Map(("Jackie", 90), ("Abby", 93), ("Tim", 87))
val caps = Map("China" -> "Beijing", "France" -> "Paris", "Norway" -> "Oslo")
scala.collection.mutable.Map,可以通过toMap
方法返回一个不可变Map。
val teachers = scala.collection.mutable.Map("Chunni" -> "History")
k <- capitals.keySet
(k, v) <- capitals
itr.hasNext //
val itr = capitals.keysIterator
5.Tuple
_i
按位置获取,比如a._1
。 Tuple的位置从1开始,而不是像数组或其他集合那样,从0开始。
VII.
包和引用
_root_
。访问修饰符
标签:
原文地址:http://www.cnblogs.com/aezero/p/4564205.html