
集合框架
Java集合框架(Java Collection Framework,JCF) 是一套用于存储和操作一组对象的统一容器体系
两个体系:
- Collection(单列集合)
- Map(双列集合)
往下细分,Collection有List和Set。Map有HashMap,LinkedHashMap等等实现。下面我们来深入了解Java的集合框架。
学习框架


在Java中,常见的集合类就有十几个,每个类又有自己具体的各种方法,庞大的体量让我们根本就无法记住这些集合。如果我们想要掌握所有的集合,我们应该学习集合框架,学习顶层设计,只要框架学会了,自然就一通百通了。
Collection体系
Collection接口:
在java.util中有一个Collection接口,是集合层级中的根接口。JDK 不直接实现该接口:它提供更具体的子接口实现,如Set和List。
所以,如果我们想自己写一个集合实现Collection接口该怎么做呢?
接口实现:
public class MyList implements Collection
让我们看看Collection接口要求我们必须重写哪些方法:

我们来具体分析每个方法。
int size()
返回该集合中的元素数量。如果该集合中的元素大于Integer.MAX_VALUE,则返回Integer.MAX_VALUE。
boolean isEmpty()
如果该集合不包含任何元素,则返回true。
boolean contains(Object o)
如果该集合包含指定元素(元素个数>=1),则返回true。
Iterator iterator()
返回该集合元素的迭代器。
Object[] toArray()
返回包含该集合中所有元素的数组。如果该集合保证元素的顺序,该方法必须以相同顺序返回元素。
boolean add(Object o)
向集合添加一个元素,如果添加成功则返回true,添加失败(如集合不允许重复元素,不允许null)则返回false。
boolean remove(Object o)
如果该集合存在指定元素的单个实例,则从该集合中移除。
void clear()
移除集合所有元素
剩余后缀为All的方法只是将范围扩大为整个集合,在此不再赘述。
可以看出,Collection集合中的通用方法就是上述的这些。
Collection接口定义了集合应该实现的方法,剩下的只是用不同的数据结构去适配不同场景下的具体需求了。
Map体系
既然已经知道了Collection体系的集合,那么Map体系对我们来说也不是很难了。
用同样的方法,我们来看看Map集合的通用方法。

下面我们分析Map特有的方法:
V get(Object key)
返回指定键映射的值,如果不包含指定键的映射则返回null。
V put(K key, V value)
将指定值与指定键关联。如果已经包含键的映射,旧值将被指定的值替换。
Set
返回该Map中包含的所有键的一个Set视图。
Set<Map.Entry<K, V>> entrySet()
返回该Map中包含的所有键值对的一个Set视图。
到此,我们也了解完了Map的通用方法,剩下的就是各个不同数据结构实现的Map了。
总结
本文我们讲述了Collection和Map两大集合框架的通用方法。掌握了这些通用方法,以后当我们使用到某个具体的List或Map时也就能轻松驾驭而不是被各种实现绕晕了。