深度解析Java集合框架,剖析面试中经典问题。集合概览:Java中除了以Map结尾的类外,其他类均实现了Collection接口,同时所有以Map结尾的类都实现了Map接口。那么List、Set、Map这三者有何不同呢?List(处理有序情况的得力工具):存储元素有序且可重复。Set(注重独一无二的特性):存储元素无序且不可重复。Map(以Key进行搜索的专家):采用键值对(key-value)存储,类似于数学中的函数y=f(x),其中“x”代表key,“y”代表value。Key无序且不可重复,而value无序且可重复,每个键最多映射到一个值。集合框架底层数据结构总结:首先看一下Collection接口下的集合。List包括ArrayList(基于Object数组)、Vector(基于Object数组)、LinkedList(双向链表,JDK1.6之前为循环链表,JDK1.7取消了循环)。Set包括HashSet(无序且唯一,基于HashMap实现)。