更新時間:2022-04-24 10:15:41 來源:動力節點 瀏覽1590次
集合是包含在單個對象中的一組對象。
集合框架是一組用于存儲集合的類,它由四個主要接口組成:
List:允許重復的元素的有序集合,可以通過int索引訪問。
Set:不允許重復條目的集合。
隊列:以特定順序對其元素進行排序以進行處理的集合。
Map:將鍵映射到值的集合,不允許重復鍵。
Collection接口是除地圖之外的所有集合的根。Map 沒有實現 Collection 接口,但它被認為是 Collections Framework 的一部分,因為它包含一組對象。
是可以包含重復條目的有序集合。可以根據int索引在列表中的特定位置插入和檢索項目。
數組列表
ArrayList 就像一個可調整大小的數組。添加元素時,ArrayList 會自動增長。
使用此實現的主要好處是可以在恒定時間內查找任何元素。添加或刪除元素比訪問元素慢。
這使得 ArrayList 在需要讀取多于寫入時成為一個不錯的選擇。
鏈表
是一個特殊的實現,因為它同時實現了 List 和 Queue 接口。
使用它的主要好處是可以在恒定時間內從列表的開頭和結尾訪問、添加和刪除元素。權衡是處理任意索引需要線性時間。
這使得 LinkedList 在用作隊列時是一個不錯的選擇。
向量
是一個被 ArrayList 取代的舊實現。Vector 與 ArrayList 執行相同的操作,但速度較慢,但??好處是線程安全。
堆
是一種數據結構的舊實現,其中可以從堆棧頂部添加和刪除元素。
設置界面
不允許重復條目的集合。
哈希集
將其元素存儲在哈希表中的集合。這意味著它使用對象的hashCode()方法來更有效地檢索它們。
主要好處是添加元素和檢查元素是否在集合中都有恒定的時間。
折衷是丟失了插入元素的順序。
樹集
將其元素插入排序樹結構的集合。
主要好處是結構總是有序的。
權衡是添加和檢查元素是否存在都是 O(log n)。
隊列接口
以特定順序添加和刪除元素時使用的集合。假定為 FIFO(先進先出),但它可以根據實現而改變。
鏈表
雙端隊列,允許從結構的前后插入和刪除元素。
數組隊列
它將其元素存儲在一個可調整大小的數組中,并且比 LinkedList 更有效。
這種實現的主要好處是它是雙端的,它可以根據需要用作 LIFO 或 FIFO 結構。
地圖界面
通過鍵標識值的接口。
哈希映射
將鍵存儲在哈希表中。這意味著使用鍵的hashCode()方法更有效地檢索它們的值。
主要的好處是通過鍵添加和檢索元素是在恒定時間內發生的。
折衷是丟失了插入元素的順序。
LinkedHashMap
當元素的插入順序很重要時使用。
樹狀圖
將鍵存儲在排序的樹結構中。主要好處是鍵總是被排序的。
權衡是添加和檢查是否存在密鑰發生在 O(log n) 時間內。
哈希表
類似于 List 接口的 Vector。很老,而且它也是線程安全的。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習