Scala Collections

Published: 26 Jul 2019 Category: cs

Scala和Java中的collection都很常用,参考几张图对比一下。

Scala集合分不可变集合和可变集合,其通用接口如下图

collections-diagram.svg

主要分三大类,Seq、Set、Map,其中IndexedSeq支持常数时间复杂度的随机访问,而LinearSeq随机访问性能较差。

不可变集合,常见的有HashMap、Set、List等,其在整个集合中的位置如下图

collections-immutable-diagram.svg

可变集合,常见的如ArrayBuffer等,类关系如图

collections-mutable-diagram.svg

图示标识,粗线表示默认实现

collections-legend-diagram.svg

Java的集合框架也很丰富,类类之间关系如下图

arts-java-collection

Refs