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

第十三讲 容器框架一
计算机程序的主要用途是处理各类数据,而这些数据是有结构的,不是散乱的。几十年以前软件大师N. Wirth写道:程序=算法+数据结构。

我们在数据结构里面学到过,数据的组织方式,有数组、链表、树、图、字典等。我们现在着手探究一下Java里面提供的数据容器框架。

Java里面从JDK 1.2起引入容器框架,主要分成List、Set、Queue和Map这4类。List是有序、可重复的;Set是无序的、不可重复的;Queue代表一种队列;Map是具有映射关系的集合。这些也叫集合类,但是可能引起重名的混乱,我就沿袭大师的做法,把它们叫作容器框架。它们的特点都是保存对象集合并且是动态的,这样区别于数组。

图13-1说明了Java容器类框架。

《Java编程十五讲》第十三讲:Java里提供的常用数据容器框架_第1张图片

图13-1 Java容器类框架示意图

从图13-1中可以看到,顶层就是Collection和Map两个接口。List、Set和Queue都是Collection的子接口。接口之下有抽象类,AbstractCollection、AbstrctList、AbstractSet、AbstractMap等。抽象类之下才是具体的实现类,如Vector,Stack,ArrayList,LinkedList,HashSet,TreeSet,HashMap,LinkedHashMap,TreeMap,Hashtable等。这个设计再次体现了我提到的Interface-AbstractClass-Class的设计体系。这种体系结构优雅又便于理解,是我们要遵循的。偶尔也会带来一些困扰,比如你想给实现类中添加一些额外的方法,就不能向上转型。

容器框架常用的接口和类如下:

Collection 接口,对

你可能感兴趣的:(Java编程十五讲)