《Java编程十五讲》第十四讲:Java里提供的常用数据容器框架三

134 阅读1分钟

#第十五讲 容器框架三

我们到此已经把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 集合元素进行随机排序。<