Java Collection接口的用法(附带实例)
java.util 包中提供了一些集合类,这些集合类又被称为容器。提到容器不难想到数组。集合类与数组的不同之处是:
常用的集合有 List 集合、Set 集合和 Map 集合,其中 List 集合与 Set 集合继承了 Collection 接口,各接口还提供了不同的实现类。
上述集合类的继承关系如下图所示:

图 1 常用集合类的继承关系
Collection 接口是层次结构中的根接口,构成 Collection 的单位被称为元素。
Collection 接口通常不能被直接使用,但该接口提供了添加元素、删除元素、管理数据的方法。由于 List 接口与 Set 接口都继承了 Collection 接口,因此这些方法对 List 集合与 Set 集合是通用的。
Collection 接口的常用方法如下表所示:
如何遍历集合中的每个元素呢?遍历集合通常都是通过迭代器(iterator)来实现的。Collection 接口中的 iterator() 方法可返回在此 Collection 进行迭代的迭代器。
【实例】向“购物车”中添加商品。在项目中创建 Muster 类,在主方法中使用 Collection 接口创建一个集合对象,把这个集合对象看作一个“购物车”,先把《C语言入门教程》《Python基本教程》《Java基础教程》这 3 套教程添加到“购物车”里,再把“购物车”里的商品名称输出到控制台上。
实例代码如下:
- 数组的长度是固定的,集合的长度是可变的;
- 数组用来存储基本类型的数据,集合用来存储对象的引用。
常用的集合有 List 集合、Set 集合和 Map 集合,其中 List 集合与 Set 集合继承了 Collection 接口,各接口还提供了不同的实现类。
上述集合类的继承关系如下图所示:

图 1 常用集合类的继承关系
Collection 接口是层次结构中的根接口,构成 Collection 的单位被称为元素。
Collection 接口通常不能被直接使用,但该接口提供了添加元素、删除元素、管理数据的方法。由于 List 接口与 Set 接口都继承了 Collection 接口,因此这些方法对 List 集合与 Set 集合是通用的。
Collection 接口的常用方法如下表所示:
方法 | 功能描述 |
---|---|
add(E e) | 将指定的对象添加到该集合中 |
addAll(Collection<? Extends T>) | 将参数中的所有元素都添加到该集合中 |
contains(Object o) | 判断该集合中是否包含对象 o |
remove(Object o) | 将指定的对象从该集合中移除 |
isEmpty() | 返回 boolean 值,用于判断当前集合是否为空 |
iterator() | 返回在此 Collection 的元素上进行迭代的迭代器。用于遍历集合中的对象 |
size() | 返回 int 型值,获取该集合中元素的个数 |
Object[] toArray() | 返回一个包含集合中所有元素的数组 |
如何遍历集合中的每个元素呢?遍历集合通常都是通过迭代器(iterator)来实现的。Collection 接口中的 iterator() 方法可返回在此 Collection 进行迭代的迭代器。
【实例】向“购物车”中添加商品。在项目中创建 Muster 类,在主方法中使用 Collection 接口创建一个集合对象,把这个集合对象看作一个“购物车”,先把《C语言入门教程》《Python基本教程》《Java基础教程》这 3 套教程添加到“购物车”里,再把“购物车”里的商品名称输出到控制台上。
实例代码如下:
import java.util.*; // 导入 java.util 包,其他实例都要添加该语句 public class Muster { // 创建 Muster 类 public static void main(String args[]) { Collection<String> list = new ArrayList<>(); // 实例化集合类对象 list.add("《C语言入门教程》"); // 向集合中添加数据 list.add("《Python基本教程》"); list.add("《Java基础教程》"); Iterator<String> it = list.iterator(); // 创建迭代器 while (it.hasNext()) { // 判断是否有下一个元素 String str = (String) it.next(); // 获取集合中的元素 System.out.println(str); } } }运行结果为:
《C语言入门教程》
《Python基本教程》
《Java基础教程》