Scala基础(10)- Collection

前面已经介绍了Array和List,这里讲讲其他有用的Collection已经相互转换。

序列

Array和List都属于序列(Sequence)。List支持从head插入,如果需要append,考虑使用ListBuffer。ListBuffer是mutable的类型。支持constant time的从前和从后插入。从前使用+=:,从后使用+=。ArrayBuffer和ListBuff相似,不再赘述。

import scala.collection.mutable.ListBuffer
val buf = new ListBuffer[Int]
buf += 1
buf +=: 2

除了Array和List外,Scala中的String也是序列。

Set,Map

Set和Map,默认是immutable,除非显示指明。

import scala.collection.mutable
val mutaSet = mutable.Set(1, 2, 3)

val map = mutable.Map.empty[String, Int]

SortedMap和SortedSet,顾名思义,其元素或key是有序的。

Set可以通过toListtoArray方法转换为List或者Set

通过空集,可以实现immutable和mutable的转换。

val mutaSet = mutable.Set.empty ++= treeSet
val immutaSet = Set.empty ++ mutaSet

元组

和Array,List不同,Tuple(元组)中的对象可以有不同的类型。元组的一个典型应用就是返回多个对象。比如在统计文本时,需要返回词和其所在位置。

你可能感兴趣的:(Scala基础(10)- Collection)