真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java基礎(chǔ)(5)-集合-創(chuàng)新互聯(lián)

Java集合大致分為 List、Set、Queue和Map 四種體系,
List代表有序、重復(fù)的集合;(ArrayList、LinkedList、Vector)
Set代表無(wú)序、不可重復(fù)的集合; (HashSet、LInkedHashSet、TreeSet)
Queue Java5增加,代表一種隊(duì)列的集合 (priorityqueue)
Map則代表具有映射關(guān)系的集合

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都做網(wǎng)站、昂昂溪網(wǎng)絡(luò)推廣、小程序定制開(kāi)發(fā)、昂昂溪網(wǎng)絡(luò)營(yíng)銷、昂昂溪企業(yè)策劃、昂昂溪品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供昂昂溪建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

Collection接口
1.Set、LIst、Queue都繼承Collection接口。
2.HashSet不能存重復(fù)的值(元素可以為null),線程不安全,且是無(wú)序的,如果想有序使用LinkedHashSet。(由于使用了鏈表 插入和刪除速度變快 但遍歷速度降低)
3.ArryaList能存重復(fù)的值(元素可以為null),有序的,線程不安全,如果想線程安全可以使用Vector(有序)。還有個(gè)常用的LinkedList,插入和刪除速度快,但遍歷速度慢。
4.queue

Map
1.HashMap 可以存重復(fù)的值(元素可以為null) 線程不安全,且是無(wú)序的。想要線程安全可以使用HashTable。但HashTable不能使用null作為鍵或值 , 想要有序 可以使用LinkedHashMap。
2.HashMap和HashTab的區(qū)別https://blog.csdn.net/mynameishuangshuai/article/details/52748731
3.區(qū)別點(diǎn)https://blog.csdn.net/xiamiflying/article/details/73050577
4.HashMap原理 https://blog.csdn.net/visant/article/details/80045154
https://www.jianshu.com/p/8b372f3a195d/
參考:
https://www.jianshu.com/p/589d58033841
https://blog.csdn.net/world_snow/article/details/79073234

線程安全
同步集合類: vector 、HashTable、 同步集合包裝類 - Collections.synchronizedMap()和Collections.synchronizedList()?
并發(fā)集合類: ConcurrentHashMap 、CopyOnWriteArrayList、CopyOnWriteHashSet

同步集合比并發(fā)集合會(huì)慢得多,主要原因是鎖,同步集合會(huì)對(duì)整個(gè)Map或List加鎖
ConcurrentHashMap:把整個(gè)Map 劃分成幾個(gè)片段,只對(duì)相關(guān)的幾個(gè)片段上鎖,同時(shí)允許多線程訪問(wèn)其他未上鎖的片段。
CopyOnWriteArrayList:CopyOnWriteArrayList、CopyOnWriteArraySet類(沒(méi)有CopyOnWriteMap實(shí)現(xiàn))允許多個(gè)線程以非同步的方式讀,當(dāng)有線程寫(xiě)的時(shí)候它會(huì)將整個(gè)List復(fù)制一個(gè)副本給它(寫(xiě)在副本),適合讀多寫(xiě)少這種場(chǎng)景,這會(huì)比使用同步集合更具有可伸縮性。

Collection和Collections的區(qū)別
1.java.util.Collection 是一個(gè)集合接口(集合類的一個(gè)頂級(jí)接口)。它提供了對(duì)集合對(duì)象進(jìn)行基本操作的通用接口方法。List、Set、Vector都繼承了他。
2.Collections則是集合類的一個(gè)工具類/幫助類,其中提供了一系列靜態(tài)方法,用于對(duì)集合中元素進(jìn)行排序、搜索、線程安全等各種操作。

排序
void reverse(List list):反轉(zhuǎn)
void shuffle(List list),隨機(jī)排序
void sort(List list),按自然排序的升序排序
void sort(List list, Comparator c);定制排序,由Comparator控制排序邏輯
void swap(List list, int i , int j),交換兩個(gè)索引位置的元素
void rotate(List list, int distance),旋轉(zhuǎn)。當(dāng)distance為正數(shù)時(shí),將list后distance個(gè)元素整體移到前面。當(dāng)distance為負(fù)數(shù)時(shí),將 list的前distance個(gè)元素整體移到后面。

查找,替換操作
int binarySearch(List list, Object key), 對(duì)List進(jìn)行二分查找,返回索引,注意List必須是有序的
int max(Collection coll),根據(jù)元素的自然順序,返回大的元素。 類比int min(Collection coll)
int max(Collection coll, Comparator c),根據(jù)定制排序,返回大元素,排序規(guī)則由Comparatator類控制。類比int min(Collection coll, Comparator c)
void fill(List list, Object obj),用元素obj填充list中所有元素
int frequency(Collection c, Object o),統(tǒng)計(jì)元素出現(xiàn)次數(shù)
int indexOfSubList(List list, List target), 統(tǒng)計(jì)targe在list中第一次出現(xiàn)的索引,找不到則返回-1,類比int lastIndexOfSubList(List source, list target).
boolean replaceAll(List list, Object oldVal, Object newVal), 用新元素替換舊元素。

同步控制
Collections.SynchronizedList()
Collections.SynchronizedSet()
Collections.synchronizedMap()

備注:
2個(gè)數(shù)組求全集可以轉(zhuǎn)成hashSet 交集可以用Collections的retainAll 差集可以用Collection的removeAll方法
參考:https://www.cnblogs.com/a2b1/p/7520099.html

TreeSet和TreeMap的關(guān)系
與HashSet完全類似,TreeSet里面絕大部分方法都是直接調(diào)用TreeMap方法來(lái)實(shí)現(xiàn)的。
相同點(diǎn):

  • TreeMap和TreeSet都是非同步集合,都是線程不安全,可使用方法Collections工具類方法來(lái)實(shí)現(xiàn)同步
  • 查詢速度都要比Hash集合慢,他們內(nèi)部對(duì)元素的操作時(shí)間復(fù)雜度為O(logN),而HashMap/HashSet則為O(1)。
  • TreeMap和TreeSet都是有序的集合,也就是說(shuō)他們存儲(chǔ)的值都是排好序的。
    不同點(diǎn):
  • 最主要的區(qū)別就是TreeSet和TreeMap分別實(shí)現(xiàn)Set和Map接口
  • TreeSet只存儲(chǔ)一個(gè)對(duì)象,而TreeMap存儲(chǔ)兩個(gè)對(duì)象Key和Value(僅僅key對(duì)象有序)
  • TreeSet中不能有重復(fù)對(duì)象,而TreeMap中可以存在
  • TreeMap的底層采用紅黑樹(shù)的實(shí)現(xiàn),完成數(shù)據(jù)有序的插入,排序

參考:https://www.cnblogs.com/pony1223/p/7907173.html

PriorityQueu
https://www.cnblogs.com/Elliott-Su-Faith-change-our-life/p/7472265.html

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買多久送多久。


分享名稱:Java基礎(chǔ)(5)-集合-創(chuàng)新互聯(lián)
文章路徑:http://weahome.cn/article/dejojj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部