Collection中Set集合在应用中常见的方法和注意点
Set集合 : 元素無序的,元素不允許重復。
????? ---->HashSet? : 存值方式使用哈希表來存值的。 ?
???????????????? 原理 :? 如果HashSet中存放對象 ,首先會調用對象的hashCode方法獲取到哈希值,通過哈希值做移為等運算,
???????????????? 計算出元素在哈表中存儲的位置。
???????????????? 情況一:如果算出的位置沒有任何元素,可以直接將對象存放在該位置。
???????????????? 情況二:如果算出的位置存在元素,這個時候會調用將要存入的元素的equals方法和已經存在的元素做對比,
???????????????? 如果equals返回的是true那么就表示是重復元素,如果equals返回的是false直接將元素一樣保存在該位置。
????? ---->TreeSet : 里面存放的元素會根據自然順序進行排序。
???????
??????? 使用注意點:
?????????? 1.如果添加的元素存在自然排序的特性,那么存入的元素就會通過自然排序進行排序。
?????????? 2.如果添加的元素,不具備自然排序的特性,那么著個時候必須要實現Comparable接口,將元素的比較規則定義到ComparTo方法中
???????????? comparTo的比較規則: 返回一個0,負數或正數 ,分別表示相等,小于和大于。
??????????
?????????? 3.如果添加的元素,不具備自然排序的特性,又沒有實現Comparable接口 ,這個時候需要寫在創建TreeSet對象是傳一個比較器。
??????????
??????????? 比較器的定義方式:
??????????????? 自定義一個類實現:Comprator接口
???????????????
???????????????? 同實現Comprator中compar(Object o1 ,Objecto1)來指定元素比較的規則。
???????????????? 規則:返回一個0,負數或正數 ,分別表示相等,小于和大于。
????????????
??????????? TreeSet:底層是使用二叉樹來存放數據的。
?
?
轉載于:https://www.cnblogs.com/houjiie/p/6121891.html
總結
以上是生活随笔為你收集整理的Collection中Set集合在应用中常见的方法和注意点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: druid部分配置
- 下一篇: ant design-Table中的分页