集合是Java中最常用的类库,位于java.util,顶层接口为Collection和Map,基于这两个接口派生了很多实现类。
Collection用于存放一组对象,Map用于存放Key-Value形式的键值对。
Collection中常用的接口为List 和 set,两者最大的区别在于List存放的对象可以重复,而Set不支持。。
List接口常用的实现类有:ArrayList,LinkedList,Vector,Stack;
Set接口常用的实现类有:HashSet,TreeSet
Map中常用的实现类有:HashMap,TreeMap,LinkedHashMap
我们需要了解的是顶层接口定义的方法在具体的实现类中是怎么定义的。从而了解各个集合实现类的实现原理,功能区别和性能比较。
在实际应用中需要根据功能需求来选择对应的集合类,List适用于允许重复元素的单个对象集合场景,Set适用于不允许重复元素的单个对象结合场景,Map则适用于key-value结构的集合场景。
java集合容器框架图:
后续会对JDK1.7 集合中的一些实现类进行源码分析,从而更加细致了解实现的原理。