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,那么元素重复。
