Java集合之接口继承关系图
Java集合类存放于Java.util包中,该包是我们日常开发过程中最常用到的,主要用到以下3类:set(集)、list(列表包含Queue)和map(映射)。虽然有数组,但是很多时候,对于对象的存储,我们都是采用集合,因为集合长度可变,所以可以存储不同类型的对象,不得不说,集合是编程中最好用的存储对象的方式之一。
而我们最常用的3类集合主要根据这3个顶级接口有关,分别是:
1)Collection:Collection是集合List、Set、Queue的最基本接口
2)Iterator:迭代器,可以通过迭代器遍历集合中的数据
3)Map:是映射表的基础接口
上述Java集合框架图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,虚线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等。
1)Iterator接口:
在说Java集合的时候,往往容易把Iterator给忘了,Iterator不同于Collection(存放单一数据)和Map(存放具有映射关系的数据),Iterator主要用于集合元素的迭代输出,所以又被称为迭代器。
Iterator接口主要包含hashNext(),next(),remove()三种方法。
子接口为LinkedIterator,在其基础上又添加了add(),previous(),hasPrevious()三种方法。
2)Collection接口
——List 元素可重复
——Set 元素不可重复,重复内容靠hashCode()和equals()两个方法区分
——Queue 队列接口
——SortedSet 对集合元素进行排序
Collection定义了集合框架的共性功能,存储的都是对象的引用(地址),所以add方法的参数类型是Object,目的是便于接收任意类型对象。
3)Map接口
Map集合存储键值对,所以需要保证键的唯一性。