Collection
- List必須保持元素特定的順序
- Set不能有重復(fù)元素
- Queue保持一個(gè)隊(duì)列(先進(jìn)先出)的順序
1. List
2. Set
- Set判斷兩個(gè)對(duì)象相同不是使用"=="運(yùn)算符,而是根據(jù)equals方法。也就是說(shuō),我們?cè)诩尤胍粋€(gè)新元素的時(shí)候,如果這個(gè)新元素對(duì)象和Set中已有對(duì)象進(jìn)行注意equals比較都返回false則Set就會(huì)接受這個(gè)新元素對(duì)象,否則拒絕。
- 因?yàn)镾et的這個(gè)制約,在使用Set集合的時(shí)候,應(yīng)該注意兩點(diǎn):
- 為Set集合里的元素的實(shí)現(xiàn)類實(shí)現(xiàn)一個(gè)有效的equals(Object)方法
- 對(duì)Set的構(gòu)造函數(shù),傳入的Collection參數(shù)不能包
2.1 HashSet
- 是Set接口的典型實(shí)現(xiàn),HashSet使用HASH算法來(lái)存儲(chǔ)集合中的元素,因此具有良好的存取和查找性能。
- 當(dāng)向HashSet集合中存入一個(gè)元素時(shí),HashSet會(huì)調(diào)用該對(duì)象的hashCode()方法來(lái)得到該對(duì)象的hashCode值,然后根據(jù)該HashCode值決定該對(duì)象在HashSet中的存儲(chǔ)位置。
- 值得主要的是,HashSet集合判斷兩個(gè)元素相等的標(biāo)準(zhǔn)是兩個(gè)對(duì)象通過(guò)equals()方法比較相等,并且兩個(gè)對(duì)象的hashCode()方法的返回值相等
3. Queue
public interface Queue<E> extends Collection<E>;
特點(diǎn):
- Interface Iterable
這是Collection類的父接口。實(shí)現(xiàn)這個(gè)Iterable接口的對(duì)象允許使用foreach進(jìn)行遍歷,也就是說(shuō),所有的Collection集合對(duì)象都具有"foreach可遍歷性"。
Map
- Map是一種把鍵對(duì)象和值對(duì)象進(jìn)行映射的集合,它的每一個(gè)元素都包含一對(duì)鍵對(duì)象和值對(duì)象。
- 向Map添加元素時(shí),必須提供鍵對(duì)象和值對(duì)象。
- 從Map中檢索元素時(shí),只要給出鍵對(duì)象,就可以返回對(duì)應(yīng)的值對(duì)象。
- 鍵對(duì)象不能重復(fù),但值對(duì)象可以重復(fù)。
- Map有兩種常見的實(shí)現(xiàn)類:HashMap和TreeMap。