先來放兩張張集合體系的框架圖:
其中iterator 是集合專用的迭代器:
迭代器:用來遍歷容器中的元素的工具。
collection是所有單列集合的超類(介面);
單列集合:就是集合中乙個空間儲存乙個元素。
我們常用collection的子類為set 和list。
list集合我們常用arraylist子類和linkedlist子類來建立物件。
那麼arraylist和linkedlist的主要區別呢?
arraylist的底層是陣列,而linkedlist的底層是鍊錶。
陣列有索引,相對來說查詢速度快一點,但是陣列的連續結構,使得陣列的增刪速度沒有鍊錶快,所以arraylist集合主要用於資料的查詢,linkedlist主要用於資料的增刪。
set集合我們常用hashset子類和treeset子類來建立物件。
那麼list集合和set集合的主要區別是什麼呢?
就是list集合裡儲存規則是有序可重複的
而set集合的儲存規則是無序不重複。
簡單描述一下:
有序是指:插入與儲存順序相同
而無序是指:集合會實現comparable介面來對插入的元素進行排序,插入順序與儲存順序不相同。
可重複:是指集合中儲存的元素可以重複
不可重複:集合中儲存的元素不可重複,那麼不可重複它的實現原理呢?
set集合 從儲存元素,先根據雜湊值判斷該位置有無元素,在呼叫equals方法來判斷是否重複,從而決定是否插入元素。對於基本型別的資料,是底層已經重寫了hashcode方法和equals方法 ,而對於我們自定義的物件,就需要我們自己重寫hashcode方法和equals方法。
Python學習 set集合的補充
set 是乙個無序且不重複的元素集合 num 1.add 新增乙個元素 num.add 6 num 2.clear 清除集合中所有元素 num.clear num set 3.copy 複製乙個集合 num1 num.copy num1 4.difference 取得集合在乙個或多個集合中不同的元素...
磁碟 故障集合 歡迎補充
1.fdisk dev sdb 第一次新增分割槽進入時的提示 changes will remain in memory only,until you decide to write them.你進行的修改預設存放在記憶體中,直到你決定儲存這些修改的時候.wq be careful before u...
硬體加速導致的問題集合(歡迎補充)
以下是開啟了硬體加速後常遇到的問題列表 硬體加速會導致某些機型在h5網頁表現異常 書城網頁下拉重新整理,動畫異常 咪咕充值裡支付寶網頁充值 back 動畫彈窗 客戶端內嵌網頁,頁面返回網頁白屏一段時間後恢復 或不恢復 客戶端閱讀頁翻頁效果異常時,可先檢查硬體加速 view 重新整理時會出現花屏或螢幕...