JCF
容器框架:
对外接口:容器中所能存放的抽象的数据类型;
接口实现:可复用的数据结构;
算法:对数据的查找和排序;
容器的框架优点:
提高存储效率;
避免程序员重复查找;
JCF主要数据结构:
列表、集合、映射。
List:列表
有序的Collection
允许重复
允虚嵌套
List三大类:
Array List:(不支持同步)
- 利用索引 快速定位 。
- 不适合指定位置的插入、删除操作 。
- 适合变动不大,主要用于查询的数据。
- 容量可以动态调整 容量填满时自动扩充容量的50%。
Li nked List:(不支持同步)
- 以双向链表实现的列表
- 能被当作堆栈、队列、双端队列进行操作
- 顺序访问高效、随机访问低效。
- 中间插入和删除高效
- 适用于·经常变化的数组。
Vector:(同步)
- 可变数组实现的列表;
- 合适多线程下使用
集合三大特性:
确定性:对任意对象都能判断是否属于某集合,
互异性:集合内每个元素都是不相同的,
无序性:集合内的顺序无关。
集合三大子类:(都不支持同步)
HashSet:散列函数集合,无序。
TreeSet:树结构集合,可排序。
LinkedHashSet:散列函数和双向链表集合,可排序。
互异性判断:
HashSet和LinkedHashSet:
首先判断hashCode返回值。
然后当hashcode相同时 判定equals方法
(如果重写这两个方法 记得将tostring也改写,这三个方法三位一体。)
TreeSet:
集合中的元素需要实现Comparable接口,然后铜通过compareTO方法比较是否重复。
映射三大子类:
Hashtable:同步,慢,数据量小
HashMap:不支持同步,快,数据量大
Properties:同步 文件形式,数据量小