概念
数据结构解决数据怎么存放,不同的数据结构插入、查询的速度不一样
算法操作数据结构里的数据,有插入、查找、删除、迭代、排序等操作
常识
length返回的是数组的容量,size返回的是元素个数
旧框架
Vector、Stack、HashTable都兼容于类集框架
List
List的实现类:ArrayList、LinkedList、Vector。LinkedList,构造方法不可以指定容量。Vector完全兼容于类集框架,支持枚举也支持迭代器。Stack是Vector的一个子类,Stack包括了由Vector定义的所有方法,同时还增加了自己的方法。
Dictionary
Dictionary被Map取代,已过时。Hashtable是Dictionary的实现,Properties是Hashtable的一个子类。Properties和Hashtable的不同之处在于key和value都是字符串类型
Properties properties = System.getProperties();
效率
数据结构 | 优点 | 缺点 | 对比 |
数组 | 插入快、已知下标查找快 | 查找、删除慢、大小固定 | |
有序数组 | 查找快 | 插入、删除慢、大小固定 | |
链表 | 插入、删除快 | 查找慢 | |
二叉树 | 查找、插入、删除都快(平衡) | 遍历相对比较慢一点 | 结合了有序数组和链表的优点 |
哈希表 | 插入、插入、删除都快 | 基于数组扩容费时、不能按顺序遍历、对存储空间使用不充分 | 比树快 |
输出
for循环
迭代器
for-each既可以输出数组,也可以输出集合