1、Java數組和鍊錶的兩個結構的操作效率
數組效率高,數組底層是一個連續的記憶體空間,根據基底地址和偏移量計算位址的;
鍊錶的資料是透過位址指向下一個資料位址找到的;
(更多面試題推薦:java常見面試題)
2、Java的引用型別有哪幾種?
強引用、弱引用、軟引用、虛引用
3、ArrayList、Vector、LinkedList的儲存效能和特性
ArrayList是以陣列形式儲存對象,因為它是存放在連續位置上,插入和刪除麻煩,但查詢效率高,連續的數組有序的可以根據索引查找;
(相關教程推薦:java入門教程)
LinkedList將物件儲存在獨立的空間,每個空間保留了下一個連結的索引,查詢效率低,但修改、刪除效率高
Vector使用了Synchronized方法(線程安全的),效能低於ArrayList
4、List、Set、Map是否繼承自Collection介面?
List,Set是,Map不是
5、List、Map、Set三個介面存取元素時,各有什麼特徵?
(影片教學推薦:java課程)
List允許資料重複,有順序的,呼叫get(index i)來明確說明取第幾個。
Set不允許重複數據,內部有排序,只能以Iterator介面取得所有的元素,再逐一遍歷各個元素。
Map是透過鍵值對儲存數據,鍵唯一的,相同數據會覆蓋,用get(Object key)方法根據key獲得相應的value。
以上是多年開發經驗總結的Java面試問題-(四)的詳細內容。更多資訊請關注PHP中文網其他相關文章!