java麵試題集錦(不斷更新中)
Collection 和 Collections的區別。
- Collections是個Java.util下的類,他提供一係列靜態方法實現對各種集合的搜索、排序、線程安全化等操作。
- Collection是個java.util下的接口,它是各種集合結構的父接口。
ArrayList和Vector的區別。
- 同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
- 數據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半
HashMap和Hashtable的區別
- 曆史原因:Hashtable是基於陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現
- 同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
- 值:隻有HashMap可以讓你將空值作為一個表的條目的key或value
ArrayList Vector LinkedList 區別與用法
- 存儲方式:ArrayList 和Vector是采用數組方式存儲數據,此數組元素數大於實際存儲的數據以便增加和插入元素,LinkedList使用雙向鏈表實現存儲,
- 檢索方式插入方式:ArrayList 和Vector都允許直接序號索引元素,但是插入數據要設計到數組元素移動等內存操作,所以索引數據快插入數據慢,Vector由於使用了synchronized方法(線程安全)所以性能上比ArrayList要差,LinkedList按序號索引數據需要進行向前或向後遍曆,但是插入數據時隻需要記錄本項的前後項即可,所以插入數度較快!
- 同步性:arraylist,linkedlist是非同步的,是線程不安全的,vector是同步的,線程安全的
最後更新:2017-04-02 00:06:42