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