Java為開發者提供了大量的工具類,這給開發人員帶來了很大方便,但是選擇多了也有困擾,究竟用哪個類;我想選擇什么,一是看自己具體需求,二是類本身的性能和用法;Java中提供了HashSet、TreeSet、LinkedHashSet三種常用的Set實現,以下具體分析它們的用法和性能。
我們使用Set的原因是Set集合不包含重復元素,HashSet、TreeSet和LinkedHashSet三種類型什么時候使用它們,使用哪個這是一個很重要的選擇性問題,正確的選擇會大大提升程序運行效率;總結一下,如你的需求是要一個能快速訪問的Set,那么就要用HashSet,如果你要一個排序Set,那么你應該用TreeSet,如果你要記錄下插入時的順序時,你應該使用LinedHashSet。把握這幾個原則,是不是選擇起來就簡單多了。
Set接口的特性,Set接口繼承了Collection接口,Set集合中不能包含重復的元素,每個元素必須是唯一的,你只要將元素加入set中,重復的元素會自動移除
?
HashSet
?
HashSet結構圖
?
?
TreeSet
?
TreeSet結構圖
?
?
?
LinkedHashSet
?
LinkedHashSet結構圖