這篇文章將為大家詳細(xì)講解有關(guān)Java集合怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供衡陽網(wǎng)站建設(shè)、衡陽做網(wǎng)站、衡陽網(wǎng)站設(shè)計、衡陽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、衡陽企業(yè)網(wǎng)站模板建站服務(wù),十載衡陽做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
首先、我們來縷清一下Java集合的主要類型分為(set、list、map)其中 set和list的父類是Collection
而map和Conllection無繼承關(guān)系
1、list:
特點
a) 可以添加重復(fù)元素
b) 有順序
list子類(也就是我們通常調(diào)用的類 子類繼承了list的特點):
ArrayList: 查詢快 增刪改慢 底層是數(shù)組結(jié)構(gòu) 線程不安全的 (基礎(chǔ)容量為10 擴容為1.5倍擴容)(提問:array 和ArrayList的區(qū)別
array定義數(shù)組時 必須制定數(shù)據(jù)類型和數(shù)組的大小
ArrayList可以添加不同類型的元素 而且不需要指定大?。?
LinkedList: 增刪改快 查詢慢 底層是(雙)鏈表結(jié)構(gòu) 線程不安全的(由于是鏈表結(jié)構(gòu) 無初始化大小 也無擴容機制 可一直添加數(shù)據(jù))
(他的缺點既是對方的優(yōu)點)
Vector(不常用、至少我不怎么用): 底層結(jié)構(gòu)也是數(shù)組結(jié)構(gòu) 線程安全
*2、set
特點
a) 不保存重復(fù)元素
b)無順序
set子類
HashSet: 速度最快 添加的元素可以為null 但是只有一個null
TreeSet: 按照添加的元素比較結(jié)果升序排列(treeset我覺得可以聯(lián)想到樹形菜單 是有序排列的)
LinkedHashSet: 按照添加的順序保存
3、Queue
隊列 先進(jìn)先出 (擴展 : stack 堆棧 先進(jìn)后出)
而Collerction是繼承的iterable接口(迭代器) iterator
可以增強for循環(huán)(foreach)
(iterator遍歷時) collection和iterable中間都有一個remove()方法 他們兩個的區(qū)別是 一個是有collection有參數(shù) 一個iterator無參數(shù) 、相比之下 iterator的性能更高(例如:collection刪除一個項 如要從集合中一個一個找 找到以后、刪除 如有需要刪除第二個 則又需要從頭再開始 而iterator則是逐一刪除 刪除符合條件的項后 繼續(xù)查找下一個 無需從頭開始 該remove需要和iterator的next(配合使用)) 第二個就是容錯方面 即collection提供的remove(o)方法 刪除數(shù)據(jù)項以后 下標(biāo)數(shù)據(jù)位置有可能發(fā)生改變 而iterator提供的remove()方法刪除當(dāng)前項以后 下標(biāo)不會發(fā)生改變
Map:
HashMap:訪問速度最快 無序保存(初始化容量為 16 加載因子為0.75 擴容為原容量1倍)
TreeMap:按照元素的比較結(jié)果升序保存 --鍵(同比TreeSet)
linkedHashMap:按照插入順序保存鍵 保留了HashMap的查詢速度
關(guān)于“Java集合怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
分享標(biāo)題:Java集合怎么用
文章鏈接:http://muchs.cn/article32/gpgppc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、全網(wǎng)營銷推廣、App設(shè)計、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)