#第十五讲 容器框架三
我们到此已经把ArrayList、HashSet和HashMap讲过了。JDK里面还有一些实现,如Queue、Deque、TreeSet、TreeMap等,我就不一一讲了。现在回顾一下。
Collection保存单一的元素,而Map把保存键值对。用泛型技术,就可以将制订类型的对象放到容器中,不会出现类型错误的元素,取出来的时候也不需要再进行类型转换。
Collection和Map都不定长,向里面添加更多元素的时候,会自动调整容量。
跟数组一样,List维持位置索引和对象的关联,因此是由确定次序的容器。
如果进行大量的随机访问,使用ArrayList,如果经常增删改数据,应该用LinkedList。
各种Queue和栈,底层用的是LinkedList。
HashMap设计用来快速访问,而TreeMap保持键值处于排序状态,所以也没有HashMap快。LinkedHashMap保持元素插入的顺序。
Set的元素不可重复。HashSet访问速度快。TreeSet保持元素处于有序的状态。LinkedHashSet保持元素插入的顺序。
带tree的类能排序,通过comparable接口给定对象自然排序或者Comparator<T>接口自定义对象的次序关系。
Vector、Stack、Hashtable是历史遗留下来的类,新程序不要使用。
再介绍一下Collections工具类。这个类包含了很多操作集合的静态方法。详细的大家可以看JDK文档,我这里只简要说一下基本的。
####1.排序操作
reverse(List):反转 List 中元素的顺序。
shuffle(List):对 List 集合元素进行随机排序。<