您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Java集合怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
首先、我們來縷清一下Java集合的主要類型分為(set、list、map)其中 set和list的父類是Collection
而map和Conllection無繼承關系
1、list:
特點
a) 可以添加重復元素
b) 有順序
list子類(也就是我們通常調用的類 子類繼承了list的特點):
ArrayList: 查詢快 增刪改慢 底層是數組結構 線程不安全的 (基礎容量為10 擴容為1.5倍擴容)(提問:array 和ArrayList的區別
array定義數組時 必須制定數據類型和數組的大小
ArrayList可以添加不同類型的元素 而且不需要指定大小)
LinkedList: 增刪改快 查詢慢 底層是(雙)鏈表結構 線程不安全的(由于是鏈表結構 無初始化大小 也無擴容機制 可一直添加數據)
(他的缺點既是對方的優點)
Vector(不常用、至少我不怎么用): 底層結構也是數組結構 線程安全
*2、set
特點
a) 不保存重復元素
b)無順序
set子類
HashSet: 速度最快 添加的元素可以為null 但是只有一個null
TreeSet: 按照添加的元素比較結果升序排列(treeset我覺得可以聯想到樹形菜單 是有序排列的)
LinkedHashSet: 按照添加的順序保存
3、Queue
隊列 先進先出 (擴展 : stack 堆棧 先進后出)
而Collerction是繼承的iterable接口(迭代器) iterator
可以增強for循環(foreach)
(iterator遍歷時) collection和iterable中間都有一個remove()方法 他們兩個的區別是 一個是有collection有參數 一個iterator無參數 、相比之下 iterator的性能更高(例如:collection刪除一個項 如要從集合中一個一個找 找到以后、刪除 如有需要刪除第二個 則又需要從頭再開始 而iterator則是逐一刪除 刪除符合條件的項后 繼續查找下一個 無需從頭開始 該remove需要和iterator的next(配合使用)) 第二個就是容錯方面 即collection提供的remove(o)方法 刪除數據項以后 下標數據位置有可能發生改變 而iterator提供的remove()方法刪除當前項以后 下標不會發生改變
Map:
HashMap:訪問速度最快 無序保存(初始化容量為 16 加載因子為0.75 擴容為原容量1倍)
TreeMap:按照元素的比較結果升序保存 --鍵(同比TreeSet)
linkedHashMap:按照插入順序保存鍵 保留了HashMap的查詢速度
關于“Java集合怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。