看看HashSet源码
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
HashSet實(shí)現(xiàn)的接口有Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>,大概就可以知道有什么功能和什么方法啦。
HashSet 是一個(gè)沒(méi)有重復(fù)元素的集合,由HashMap實(shí)現(xiàn)的,不保證元素的順序,允許使用 null 元素。
HashSet是非線程安全的。想獲取線程安全的可以使用?Set s = Collections.synchronizedSet(new HashSet(...));
請(qǐng)注意,迭代器的快速失敗行為無(wú)法得到保證,因?yàn)橐话銇?lái)說(shuō),在存在不同步的并發(fā)修改時(shí),不可能做出任何硬性保證。
1.構(gòu)造一個(gè)新的空集;后備HashMap實(shí)例具有默認(rèn)初始容量(16)和加載因子(0.75)
2.構(gòu)造一個(gè)新的空集;后備HashMap實(shí)例具有指定的初始容量和默認(rèn)加載因子(0.75)
3.構(gòu)造一個(gè)新的空集;后備HashMap實(shí)例具有指定的初始容量和指定的加載因子。
4.構(gòu)造一個(gè)包含指定集合中元素的新集合。
類里面只有兩個(gè)屬性字段 HashMap<E,Object> map和Object PRESENT
很多的方法,都是使用的HashMap里面的方法,去找找有沒(méi)有寫的特殊一點(diǎn)的方法。
這個(gè)是用了map的key的特性,還存入一個(gè)PRESENT對(duì)象。
對(duì)于size?()和isEmpty(),也可以直接看到是map的方法
對(duì)于數(shù)據(jù)的刪除和清空也是類似的。
然后看看迭代器的獲取
?
?
?
轉(zhuǎn)載于:https://my.oschina.net/u/2277632/blog/2998834
總結(jié)
以上是生活随笔為你收集整理的看看HashSet源码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: topcoder srm 495 div
- 下一篇: 专访Connolly:为什么我们需要手动