java集合(Set)

HashSet总结:
元素的哈希值是通过元素的hashcode方法 来获取的, HashSet首先判断两个元素的哈希值,
如果哈希值一样,接着会比较equals方法 如果 equls结果为true ,HashSet就视为同一个
元素。如果equals 为false就不是同一个元素。
哈希值相同equals为false的元素是怎么存储呢,就是在同样的哈希值下顺延(可以认为哈希值
相同的元素放在一个哈希桶中)。也就是哈希一样的存一列。
LinkedHashSet
 这个相对于HashSet来说有一个很大的不一样是LinkedHashSet是有序的。
LinkedHashSet在迭代访问Set中的全部元素时,性能比HashSet好,但是插入时性能稍微
逊色于HashSet。
TreeSet的特点是:不能写入空数据,写入的数据是有序的,不写入重复数据.

Itreable  :  接口 实现该接口可以使用增强for循环  
                ---| Collection     描述所有集合共性的接口  
                    ---| List接口     有序,可以重复,有角标的集合  
                            ---| ArrayList     
                            ---|  LinkedList  
                    ---| Set接口      无序,不可以重复的集合  
                            ---| HashSet  线程不安全,存取速度快。底层是以hash表实现的。  
                            ---| TreeSet  红-黑树的数据结构,默认对元素进行自然排序(String)。如果在比较的时候两个对象返回值为0,那么元素重复。



猜你喜欢

转载自blog.csdn.net/acdHKF/article/details/79572592