list
集合的常用實現類有arraylist
和linkedlist
,其中,arraylist
是使用陣列結構來儲存的,陣列結構要求資料在記憶體中必須是連續的,存在查詢效率高,但修改效率低的問題;而linkedlist
是使用鍊錶結構來儲存的,存在查詢效率低,但修改效率高的問題!
set
集合的常用實現類有hashset
,其資料是完全雜湊的,而linkedhashset
也是使用鍊錶結構來儲存資料的!
問題:j**a.util.set 有沒有像 list 一樣的get方法吧?
答案是沒有。
list特點:元素有放入順序,元素可重複。
set特點:元素無放入順序,元素不可重複。
list的get方法需要下標,其實也就是放入順序,由於set沒有放入順序,所以這應該就是沒有給set設計get方法的原因。
擴充套件:在set中的位置是由元素的hashcode決定的,位置其實是固定的。要取set的值,一般是用iterator() 方法獲取迭代器進行操作,也可以用toarray()方法轉成陣列來操作。
類的儲存結構
每次想 下類的儲存結構,總是不得而知,現在終於弄通了,現在解析如下 首先類本身是不佔記憶體的,但是類本身是有大小的,只有類的例項才能佔記憶體。類的元素分為兩種 類的成員變數 儲存在棧區 類的函式 儲存在 區 但是涉及到繼承和virtual就要重新考慮了。1.有虛函式 實繼承的情況 儲存區位置分布 指...
集合 鏈式儲存的實現
集合的順序儲存是通過陣列來實現的,集合的鏈式儲存是通過儲存結點之間的鏈結來實現的,從而形成鍊錶。鍊錶中的每乙個結點都包含乙個值域和乙個指標 即引用物件域 每個結點的指標指向下乙個結點物件,這樣的鍊錶稱之為單鏈表。在單鏈表中,第乙個結點稱之為表頭結點,指向第乙個結點的指標被稱為表頭指標,最後乙個結點稱...
List集合儲存資料的結構
資料儲存的常用結構有 堆疊 佇列 陣列 鍊錶。堆疊,採用該結構的集合,對元素的訪問有如下的特點 1.先進後出 即,存進去的元素,要在它後面的元素依次取出後,才能取出該元素 例如,子彈壓進彈夾,先壓進去的子彈在下面,後壓進去的子彈在上面,當開槍時,先彈出上面的子彈,然後才能彈出下面的子彈。2.棧的入口...