Scala中的集合层次结构

Scala集合层次结构

Scala集合具有丰富的层次结构。可遍历特性是Scala层次结构的根本,所有类都继承了集合的一般功能所需的某些特性。

下图显示了集合层次结构

Scala中的集合层次结构

可穿越的特质

从根本上讲,存在Traversable特性,该特性为所有集合实现了遍历集合的通用方法。

可重复性状

通过定义Iterator来迭代集合类的元素的所有集合类也有一个共同的特征。

继承Traversable和Iterable的常用功能,主要分为三类:

  1. Sequence(Seq)

  2. Sets(Set)

  3. Maps(Map)

1)顺序

Sequence或Seq是可迭代类的特征,它定义了元素的顺序。这个不变的特征为其中的元素提供了索引。一些常见的seq方法是:

  • copyToarray():将Seq的元素复制到数组

  • indexOf():查找传递的元素的索引

  • reverse():返回具有相反顺序的新序列

  • inEmpty():如果代码为空,则返回true

  • indexWhere(element,from) :检查第n个元素的索引

  • Max():找到序列的最大元素

  • Min():找到序列的最小元素

2)集合

Scala集是同一类型的不同元素的集合。集合中没有重复的数据元素。Scala集根据对象的更改方式是可变的/不可变的?是扩展的scala.collection.immutable或scala.collection.mutable包。一些常见的Set方法是:

  • count():根据条件计算元素数

  • max [B:> A]:找到最大的元素

  • min [B:> A]:找到最小的元素

  • Size:输出集合的大小

  • toString():在对象上创建字符串表示形式

  • copytoArray():使用数组的元素创建一个数组

3)映射

映射是键/值对的集合。元素的值由其键(如索引)指出,但键可以是任何值。通常,Scala中的映射是不可变的类型,其对象无法更改。但是,如果需要,程序员可以使用scala.collection.mutable.map包使用其可变版本。

对于“映射”特征有效的方法是:

  • def iterator:在映射上返回一个新的迭代器

  • clone():复制映射

  • last():返回映射的最后一个元素

  • get():获取与键关联的值

  • toSet():创建一个包含映射所有元素的集合

  • toString():返回包含元素的字符串