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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

Collection框架介绍

發(fā)布時(shí)間:2025/3/12 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Collection框架介绍 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Collection:List列表Set集,?MapHashtableHashMapTreeMap

?

Collection??是單列集合

List???元素是有序的可重復(fù)

有序的?collection可以對(duì)列表中每個(gè)元素的插入位置進(jìn)行精確地控制。

可以根據(jù)元素的整數(shù)索引(在列表中的位置)訪問(wèn)元素,并搜索列表中的元素。?

可存放重復(fù)元素,元素存取是有序的。

List接口中常用類

l?Vector線程安全,但速度慢,已被ArrayList替代。

底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組結(jié)構(gòu)

l?ArrayList:線程不安全,查詢速度快。

????????????底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組結(jié)構(gòu)

l?LinkedList:線程不安全。增刪速度快。

?????????????底層數(shù)據(jù)結(jié)構(gòu)是列表結(jié)構(gòu)

?

Set()?元素無(wú)序的、不可重復(fù)

取出元素的方法只有迭代器不可以存放重復(fù)元素,元素存取是無(wú)序的。

Set接口中常用的類

l?HashSet線程不安全存取速度快。

???????? ?它是如何保證元素唯一性的呢?依賴的是元素的hashCode方法和euqals方法。

l?TreeSet線程不安全,可以對(duì)Set集合中的元素進(jìn)行排序

? ? ? ? ??它的排序是如何進(jìn)行的呢?通過(guò)compareTo或者compare方法中的來(lái)保證元素的唯一性元素是以二叉樹(shù)的形式存放的。

?

?

Map??是一個(gè)雙列集合

|--Hashtable:線程安全,速度快。底層是哈希表數(shù)據(jù)結(jié)構(gòu)。是同步的。

不允許null作為鍵,null作為值。

??????|--Properties:用于配置文件的定義和操作,使用頻率非常高,同時(shí)鍵和值都是字符串。

是集合中可以和IO技術(shù)相結(jié)合的對(duì)象。(到了IO在學(xué)習(xí)它的特有和io相關(guān)的功能。)

|--HashMap:線程不安全,速度更快。底層也是哈希表數(shù)據(jù)結(jié)構(gòu)。是不同步的。

允許null作為鍵,null作為值。替代了Hashtable.

??? ??|--LinkedHashMap:?可以保證HashMap集合有序。存入的順序和取出的順序一致。

|--TreeMap:可以用來(lái)對(duì)Map集合中的進(jìn)行排序.


?(關(guān)于HashMap和Hashtable的區(qū)別可參考:http://www.importnew.com/24822.html)

簡(jiǎn)單總結(jié)如下:

1.Hashtable是Dictionary的子類,HashMap是Map接口的一個(gè)實(shí)現(xiàn)類;
2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情況下是非同步的。即是說(shuō),在多線程應(yīng)用程序中,不用專門的操作就安全地可以使用Hashtable了;而對(duì)于HashMap,則需要額外的同步機(jī)制。但HashMap的同步問(wèn)題可通過(guò)Collections的一個(gè)靜態(tài)方法得到解決:
Map Collections.synchronizedMap(Map m)
這個(gè)方法返回一個(gè)同步的Map,這個(gè)Map封裝了底層的HashMap的所有方法,使得底層的HashMap即使是在多線程的環(huán)境中也是安全的。
3.在HashMap中,null可以作為鍵,也可以作為value,(key不可重復(fù),value可重復(fù))這樣的鍵只有一個(gè);可以有一個(gè)或多個(gè)鍵所對(duì)應(yīng)的值為null。當(dāng)get()方法返回null值時(shí),即可以表示HashMap中沒(méi)有該鍵,也可以表示該鍵所對(duì)應(yīng)的值為null。因此,在HashMap中不能由get()方法來(lái)判斷HashMap中是否存在某個(gè)鍵,而應(yīng)該用containsKey()方法來(lái)判斷。

?

參考博文:https://blog.csdn.net/weixin_37766296/article/details/80436402



Collection?和?Collections的區(qū)別

?

Collection是集合類的上級(jí)接口接口主要有Set?ListMap。?

Collections是針對(duì)集合類的一個(gè)幫助類,提供了操作集合的工具方法一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作。

總結(jié)

以上是生活随笔為你收集整理的Collection框架介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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