概念算法
數據結構解決數據怎麼存放,不一樣的數據結構插入、查詢的速度不同
算法操做數據結構裏的數據,有插入、查找、刪除、迭代、排序等操做數組
常識數據結構
length返回的是數組的容量,size返回的是元素個數框架
舊框架code
Vector、Stack、HashTable都兼容於類集框架blog
List排序
List的實現類:ArrayList、LinkedList、Vector。LinkedList,構造方法不能夠指定容量。Vector徹底兼容於類集框架,支持枚舉也支持迭代器。Stack是Vector的一個子類,Stack包括了由Vector定義的全部方法,同時還增長了本身的方法。字符串
Dictionaryget
Dictionary被Map取代,已過期。Hashtable是Dictionary的實現,Properties是Hashtable的一個子類。Properties和Hashtable的不一樣之處在於key和value都是字符串類型io
Properties properties = System.getProperties();
效率
數據結構 | 優勢 | 缺點 | 對比 |
數組 | 插入快、已知下標查找快 | 查找、刪除慢、大小固定 | |
有序數組 | 查找快 | 插入、刪除慢、大小固定 | |
鏈表 | 插入、刪除快 | 查找慢 | |
二叉樹 | 查找、插入、刪除都快(平衡) | 遍歷相對比較慢一點 | 結合了有序數組和鏈表的優勢 |
哈希表 | 插入、插入、刪除都快 | 基於數組擴容費時、不能按順序遍歷、對存儲空間使用不充分 | 比樹快 |
輸出
for循環迭代器for-each既能夠輸出數組,也能夠輸出集合