18.2 Collection集合接口与Iterator迭代器接口
什么是Collection接口?什么是Iterator接口?它们有什么用处?使用频率高吗?带着这些疑问阅读本节,对数据结构将有更深的了解。
18.2.1 熟悉Collection集合接口
Collection接口是数据集合接口,它位于数据结构API的最上部。构成Collection的单位,被称为元素。接口提供了添加、删除元素等管理数据的功能。根据数据管理的方法不同,可将Collection接口分成为3个部分,分别是Map接口、Set接口、List接口,如图18.1所示。
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行,一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都继承自Collection的子接口,如List和Set。
所有实现Collection接口的类都必须提供两个标准的构造函数:
(1)无参数的构造函数,用于创建一个空的Collection。
图 18.1 数据结构种类图
(2)带Collection参数的构造函数,用于创建一个新的Collection。这个新的Collection与传入的Collection拥有相同的元素
说明 带参数的构造函数允许用户复制一个Collection。
如何遍历Collection中的每一个元素?不论Collection的实际类型如何,它都支持iterator()方法,该方法返回迭代子。使用该迭代子即可访问Collection中的每一个元素。方法典型用法如下:
01 Iterator it=collection.iterator();//获得一个迭代子
02 while(it.hasNext())
03 {
04 Object obj=it.next();//得到下一个元素
05 }
至于什么是迭代器,将在下一小节中详细讲述。由Collection接口派生的两个子接口是List和Set,下面就讲述这两个接口中的具体内容。