new一個類對象和使用類名創建一個對象有什麼區別?LinkList和ArrayList的區別

存儲空間上不同。 
new出來的在堆上 

直接定義的在棧上 .


用法似乎高手都喜歡用new,因爲堆的內存大嘛,我喜歡用棧,方便點,不用指來指去,還要回收內存.棧在遞歸可能會遇到溢出,因爲內存有限制.而且new出來的可以用很多動態重載的特性. 


1.ArrayList是基於數組,LinkedList基於鏈表實現。
2.對於隨機訪問get和set,ArrayList覺得優於LinkedList,因爲LinkedList要移動指針。
3.對於新增和刪除操作add和remove,LinedList比較佔優勢,因爲ArrayList要移動數據。
4.查找操作indexOf,lastIndexOf,contains等,兩者差不多。
這裏只是理論上分析,事實上也不一定,比如ArrayList在末尾插入和刪除數據就不設計到數據移動,不過還是
有這麼個建議:隨機訪問比較多的話一定要用ArrayList而不是LinkedList,如果需要頻繁的插入和刪除應該
考慮用LinkedList來提高性能。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章