本文共 1233 字,大约阅读时间需要 4 分钟。
容器,是用来容纳物体、管理物体。生活中,我们会用到各种各样的容器。如锅碗瓢盆、箱子和包等。
程序中的“容器”也有类似的功能,用来容纳和管理数据。比如,新闻网站的新闻列表、教育网站的课程列表就是用“容器”来管理。开发和学习中需要时刻和数据打交道,如何组织这些数据是我们编程中重要的内容。我们一般通过“容器”来容纳和管理数据。事实上,我们前面所学的数组就是一种容器,可以在其中放置对象或基本类型数据。
数组的优势:是一种简单的线性序列,可以快速地访问数组元素,效率高。如果从效率和类型检查的角度讲,数组是最好的。
数组的劣势:不灵活。容量需要事先定义好,不能随着需求的变化而扩容。比如:我们在一个用户管理系统中,要把今天注册的所有用户取出来,那么这样的用户有多少个?我们在写程序时是无法确定的。因此,在这里就不能使用数组。
基于数组并不能满足我们对于“管理和组织数据的需求”,所以我们需要一种更强大、更灵活、容量随时可扩的容器来装载我们的对象。 这就是我们今天要学习的容器。容器(Collection)也称之为集合。
单例集合:将数据一个一个的进行存储。
双例集合:基于 Key 与 Value 的结构存储数据。
Collection 是单例集合根接口,它是集中、收集的意思。Collection 接口的两个子接口是 List、Set 接口。
方法 | 说明 |
---|---|
boolean add(Object element) | 增加元素到容器中 |
boolean remove(Object element) | 从容器中移除元素 |
boolean contains(Object element) | 容器中是否包含该元素 |
int size() | 容器中元素的数量 |
boolean isEmpty() | 容器是否为空 |
void clear() | 清空容器中所有元素 |
Iterator iterator() | 获得迭代器,用于遍历所有元素 |
boolean containsAll(Collection c) | 本容器是否包含 c 容器中的所有元素 |
boolean addAll(Collection c) | 将容器 c 中所有元素增加到本容器 |
boolean removeAll(Collection c) | 移除本容器和容器 c 中都包含的元素 |
boolean retainAll(Collection c) | 取本容器和容器 c 中都包含的元素,移除非交集元素 |
Object[] toArray() | 转化成 Object 数组 |
由于 List、Set 是 Collection 的子接口,意味着所有 List、Set 的实现类都有上面的方法。我们下一节中,通过 ArrayList 实现类来测试上面的方法。
转载地址:http://fqpli.baihongyu.com/