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的集合类可以从三个维度进行切分: 可变与不可变集合(Immutable and mutable coll...
    时待吾阅读 11,088评论 0 4
  • Java 语言支持的类型分为两类:基本类型和引用类型。整型(byte 1, short 2, int 4, lon...
    xiaogmail阅读 5,176评论 0 10
  • 数组是一种可变的、可索引的数据集合。在Scala中用Array[T]的形式来表示Java中的数组形式 T[]。 v...
    时待吾阅读 4,589评论 0 0
  • 数组 :new Array[Int](8)与Array[Int](8)的区别:第一种8个元素,第二个定义一个值为8...
    夙夜M阅读 5,762评论 1 2
  • 对象的创建与销毁 Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Fa...
    孙小磊阅读 6,233评论 0 3