集合 —— Set

Set接口概述
一个不包含重复元素的 collection
Set案例
存储字符串并遍历
存储自定义对象并遍历

HashSet类概述
不保证 set 的迭代顺序
特别是它不保证该顺序恒久不变

HashSet如何保证元素唯一性
底层数据结构是哈希表(元素是链表的数组)
哈希表依赖于哈希值存储
添加功能底层依赖两个方法:
int hashCode()
boolean equals(Object obj)

LinkedHashSet类概述
元素有序唯一
由链表保证元素有序
由哈希表保证元素唯一

TreeSet类概述
使用元素的自然顺序对元素进行排序
或者根据创建 set 时提供的 Comparator 进行排序
具体取决于使用的构造方法

TreeSet是如何保证元素的排序和唯一性的
底层数据结构是红黑树(红黑树是一种自平衡的二叉树)

HashSet集合存储自定义对象并遍历
如果对象的成员变量值相同即为同一个对象
TreeSet集合存储自定义对象并遍历
如果对象的成员变量值相同即为同一个对象
按照年龄进行从大到小进行排序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章