Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util包下的一组 接口 interfaces 和其实现类 classes 。其主要表现为将多个元素 element置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索retrieve 、管理 manipulate,即平时我们俗称的增删查改 CRUD 。
1. 基本关系说明
- Collection :用来存储管理一组对象 objects ,这些对象一般被成为元素 elements
(1)Set : 元素不能重复,背后隐含着查找/搜索的语义
SortedSet : 一组有序的不能重复的元素
(2) List : 线性结构
(3) Queue : 队列
(4) Deque : 双端队列 - Map : 键值对 Key-Value-Pair ,背后隐含着查找/搜索的语义
(1) SortedMap : 一组有序的键值对
2.Collection常用方法
方法签名 | 用途 |
---|---|
boolean add(e) | 将元素 e 放入集合中 |
void clear() | 删除集合中的所有元素 |
boolean remove(Object) | 判断集合是否没有任何元素,俗称空集合 |
int size() | 返回集合中的元素个数 |
Object[] toArray() | 返回一个装有所有集合中元素的数组 |
3.Set介绍
Set 表示数学意义上的集合的概念,主要的特点就是集合中的元素不能重复,因此存入Set的每一个元素都必须定义equals()方法来确保对象的唯一性。该接口有两个实现类:HashSet和TreeSet,其中后者实现了SortedSet接口,因此TreeSet中的元素是有序的。
4.List介绍
List又称为有序的Collection。它按照对象进入的顺序来保存对象,因此它能对列表中的每个元素的插入和删除位置进行精确的控制。同时它可以保存重复的对象。ArrayList和LinkedList都实现了List接口。
5.Map介绍
Map提供了一个从键映射到值得数据结构。它用于保存键值对,其值可以重复,但键是唯一的,不能重复。HashMap、TreeMap都实现了该接口,但执行效率却不完全相同。HashMap是基于散列表实现的,采用对象的hashCode值可以快速查询,而TreeMap是基于红黑树的数据结构来实现的,内部元素是按序排列的。