日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

常用集合类的使用

發(fā)布時間:2025/3/21 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常用集合类的使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

集合類在日常的工作中經(jīng)常被使用,選擇一個合適的集合類,對程序的性能,健壯性都會有不小的提升,下面我們就常用的集合類給大家一一介紹

簡單畫個圖,說下組織架構(gòu)

List:

List接口及其實現(xiàn)類是容量可變的列表,可按索引訪問集合中的元素。?

特點:集合中的元素有序、可重復(fù);

?列表在數(shù)據(jù)結(jié)構(gòu)中分別表現(xiàn)為:數(shù)組和向量、鏈表、堆棧、隊列。

(1)ArrayList 數(shù)組結(jié)構(gòu),插入移除數(shù)據(jù)慢,查詢數(shù)據(jù)快,按索引查找,不是線程安全的。

(2)LinkedList 鏈表結(jié)構(gòu),插入移除數(shù)據(jù)塊,只需要替換首尾節(jié)點地址就行,查詢數(shù)據(jù)慢,需要按列表節(jié)點順序依次查找。不是線程安全。

(2)Vector 實現(xiàn)可自動增長的數(shù)組結(jié)構(gòu),有序,可重復(fù),線程安全。

ArrayList 和?Vector 的區(qū)別:

(1):Vector是線程安全的,源碼中有很多的synchronized可以看出,而ArrayList不是。導(dǎo)致Vector效率無法和ArrayList相比;?
(2):ArrayList和Vector都采用線性連續(xù)存儲空間,當(dāng)存儲空間不足的時候,ArrayList默認(rèn)增加為原來的50%,Vector默認(rèn)增加為原來的一倍;?

(3):Vector可以設(shè)置capacityIncrement,而ArrayList不可以,從字面理解就是capacity容量,Increment增加,容量增長的參數(shù)。

Set:

Set的特點:無序,不重復(fù)。

(1)HashSet 能夠快速定位一個元素。存入HashSet中的對象必須實現(xiàn)HashCode方法

如果想要排序,可以使用TreeSet

Map:

Map是一種把鍵對象和值對象進(jìn)行關(guān)聯(lián)的一種容器。

特點:key不允許重復(fù)。

(1)HashMap 實現(xiàn)一個鍵到值映射的哈希表,通過鍵取得對象,沒有順序,通過get(key)來獲取value,允許存儲空對象,而且允許鍵是空(由于鍵必須是唯一,當(dāng)然只能有一個)。

(2)HashTable 實現(xiàn)一個映像,所有的鍵必須非空,線程安全。如果處理的數(shù)據(jù)比較大,可以考慮concurrentHashMap,采用分片加鎖,提高程序運(yùn)行效率。

(3)TreeMap 實現(xiàn)排序。

(4)ConcurrentHashMap 線程安全,比hashtable效率高,內(nèi)部實現(xiàn)是分片鎖定。
---------------------?
作者:yinghuananhai?
來源:CSDN?
原文:https://blog.csdn.net/YingHuaNanHai/article/details/80751337?
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!

總結(jié)

以上是生活随笔為你收集整理的常用集合类的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。