JCF(1):
----容器:能够存放数据的空间结构
(1)数组 / 多维数组,只能线性存放
(2)列表 / 散列集 / 树 / ......
----容器框架:为表示和操作容器而规定的一种标准体系结构(简单说,有一些容器,并且在其之上有算法实现)
(1)对外的接口:容器中所能存放的抽象数据类型
(2)接口的具体实现:可以复用的数据结构
(3)算法:对数据的查找和排序
----容器框架的优点:提高数据存取效率,避免程序员重复劳动
----C++的STL(标准模板库),Java的JCF
JCF(2):
----Java1.1和以前的数据结构:Vector,Stack,Hashtable,Enumeration等
----Java1.2和以后,JCF集合框架(Java Collection Framework)
功能更强大
易于学习
接口和实现分离,多种设计模式设计更加灵活
泛型设计
JCF(3):
注意:
(1)最上层的这些,基本上都是接口。叶子节点基本上都是实现类。算法都是在实现类里面去
(2)深蓝色的分支中,Dictionary和Hashtable是属于JDK1.1的类,已经较少使用了
(3)绿色部分是列表(List),黄色部分是散列集合(Set),浅蓝色是映射(Map)
(4)还有两个工具类Arrays和Collections,帮助实现一些数据结构的查找和排序算法
JCF(4):
----早期接口Enumeration
----JCF的集合接口是Collection
包括方法add,contains,remove,size
----JCF的迭代器接口Iterator
包括方法hasNext,next,remove
JCF(5):
JCF主要的数据结构实现类:
----列表(List,ArrayList,LinkedList)
----集合(Set,HashSet,TreeSet,LinkedHashSet)
----映射(Map,HashMap,TreeMap,LinkedHashMap)
JCF主要的算法类:
----Arrays:对数组进行查找和排序等操作
----Collections:对Collection及其子类进行排序和查找操作
总结:
JCF主要包括三种数据结构:(列表 集合 映射) 以及它们的工具类