Kotlin 集合

Kotlin中的集合就类似一个容器,用于存储一系列对象,这些对象可以是任意的数据类型,并且长度可变。这些类都存放在kotlin.collections包,在使用时一定要注意导包的问题,否则会出现异常。

集合按照其存储结构可以分为两大类,即单列集合Collection和双列集合Map,这两种集合的特点具体如下。

1. Collection

Iterable是单列集合类的根接口,而通常在使用时是从Collection接口开始,Collection用于存储一系列符合规则的元素,它有3个重要的子接口,分别是List、Set和MutableCollection。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序并且不可重复。Mutable Collection的特点是元素可变。下面的图例展示了一个Collection中的继承关系,如图所示。
Kotlin 集合

从图中可以看出,Collection继承自Iterable接口,Collection有3个子接口,分别为List、Set、MutableCollection,而且MutableCollection接口不仅继承Collection接口还继承MutableIterable接口。

需要注意的是,图中虚线框标识的都是Java中的集合类,但是这些类可以在Kotlin中使用。List接口在Kotlin中有两个实现类,分别为ArrayList、MutableList,而LinkedList是Java中的实现类。Set接口在Kotlin中同样也只有两个实现类,分别为HashSet和MutableSet,而TreeSet也是Java中的实现类。

Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List、Set、MutableCollection)通用的一些方法,这些方法可用于操作所有的单列集合,如表所示。
Kotlin 集合

表中列举的方法与Java中的方法一样,初学者可以根据Java API文档来学习这些方法的具体用法,此处列出这些方法,是为了方便后续的学习。

2. Map

Map是双列集合类的根接口,用于存储具有键(Key)、值(Value)映射关系的元素,每个元素都包含一对键值,在使用Map集合时可以通过指定的Key找到对应的Value。例如根据每个人的身份证号就可以找到对应的人。接下来通过一个图例来展示一下Map中的继承关系,如图所示。
Kotlin 集合

从图中可以看出,Map接口有3个子接口,分别为HashMap、TreeMap、MutableMap,HashMap有一个实现类LinkedHashMap。需要注意的是,TreeMap是Java中的集合接口。

阅读前提

教程目录

赞(0)

评论 抢沙发

评论前必须登录!