学习笔记~~~~~Set接口实现
Java中提供了HashSet、TreeSet、LinkedHashSet三種常用的Set實(shí)現(xiàn),以下具體分析它們的用法和性能。
我們使用Set的原因是Set集合不包含重復(fù)元素,HashSet、TreeSet和LinkedHashSet三種類型什么時(shí)候使用它們,使用哪個(gè)這是一個(gè)很重要的選擇性問題,正確的選擇會(huì)大大提升程序運(yùn)行效率;總結(jié)一下,如你的需求是要一個(gè)能快速訪問的Set,那么就要用HashSet,如果你要一個(gè)排序Set,那么你應(yīng)該用TreeSet,如果你要記錄下插入時(shí)的順序時(shí),你應(yīng)該使用LinedHashSet。把握這幾個(gè)原則,是不是選擇起來就簡(jiǎn)單多了。
Set接口的特性,Set接口繼承了Collection接口,Set集合中不能包含重復(fù)的元素,每個(gè)元素必須是唯一的,你只要將元素加入set中,重復(fù)的元素會(huì)自動(dòng)移除。下面分三方面對(duì)它的三個(gè)實(shí)現(xiàn)類進(jìn)行說明。
?
對(duì)于有序無序的理解
集合所說的序,是指元素存入集合的順序,當(dāng)元素存儲(chǔ)順序和取出順序一致時(shí)就是有序,否則就是無序。
?
HashSet繼承AbstractSet,實(shí)現(xiàn)Set、Cloneable、Serializable接口
HashSet類:HashSet是采用hash表算法來實(shí)現(xiàn)的,其中的元素沒有按順序排列
?
?
結(jié)構(gòu)圖:
?
?
?
示例:
插入3、2、99、1、3五個(gè)元素
輸出了四個(gè)元素
?
?
?
總結(jié)
以上是生活随笔為你收集整理的学习笔记~~~~~Set接口实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript 字符串转数字
- 下一篇: 小白学docker(1)---docke