集合——list簡單總結
阿新 • • 發佈:2017-09-01
style list 刪除 link 數據 排隊 http arr es2017
一.介紹list
1.什麽是list?
list是一個有序的序列(collection),它是一個接口,繼承了collection,因此了除了包含父類的方法以外,還有專屬的方法。
list有三個子類,分別是:ArrayList、linkedlist、vector。
2.list與數組有什麽區別呢?
從操作角度:
數組查詢快,增刪慢。
list增刪快,查詢慢。
從存儲類型:
數組只能存儲1種類型(基本類型或引用類型),而list可以存儲多種類型(基本類型和引用類型)。
二.介紹棧和隊列
棧的特點:先進後出,查詢快,增刪滿
舉例:彈夾
分析圖:
棧操作數據時,通過地址值獲取內存數據。
隊列特點:先進先出,增刪快,查詢慢
舉例:排隊
分析圖:
三.數組與鏈表存儲方式
數組的存儲
查詢33這個元素,直接數組名[索引],即:array[1]就能得到33這個元素
刪除33
1.33前的元素,不變
2.33這個元素,不存儲
3.33後的把以前的位置-1,存到新數組中。麻煩
鏈表:由一個鏈子將多個節點連起組成的數據。
節點包括:數據和地址組成(指針域和數據域)
內存圖:
四.List三個子類的區別和應用場景
Vector:底層是數組,查詢快,增刪慢
Arraylist:底層是數組,查詢塊,增刪慢
LinkedList:底層是鏈表,查詢慢,增刪快
效率:
Vector:線程同步(安全),效率低
ArrayList:線程不同步(不安全),效率高
它用來代替Vector的。
LinkedList:線程不安全,效率高
集合——list簡單總結