Collection框架介绍
Collection:List列表,Set集,?Map:Hashtable,HashMap,TreeMap
?
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是集合類的上級(jí)接口,子接口主要有Set?和List、Map。?
Collections是針對(duì)集合類的一個(gè)幫助類,提供了操作集合的工具方法:一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作。
總結(jié)
以上是生活随笔為你收集整理的Collection框架介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2021年高考理综单科成绩查询,2021
- 下一篇: 使用动态代理解决网站字符集编码问题:(之