Set的总结

 

Set最重要的操作是查找,为查找而设计。存入HashSet的元素必须定义hashCode();

Set不保存重复的元素,元素必须唯一。通过equals()方法一确保对象的唯一性。

Set中最常被用于归属性,可以很容易的询问某个对象是否在Set中。Set是基于对象的值来确定归属性的,contains()测试Set的归属性。

Set具有Collection完全一样的接口,没有额外的功能。Set就是Collection,只是行为不同。

 

 

HashSet专门对快速查找进行了优化。

HashSet内部数据结构是哈希表,不同步。

HashSet使用了散列,所以输出是没有规律的无序的,但是速度快。

 

TreeSet将元素存储在红-黑数数据结构中。

TreeSet中元素必须实现Comparable接口,此接口中comparaTo()比较对象与制定对象的顺序。

TreeSet可以对集合中的元素进行排序,结果也是排序的,不同步。

 

LinkedHashSet具有HashSet的查询速度,且内部使用链表维护元素插入的顺序。在迭代遍历Set时,

结果会按插入的次序显示。元素也饿必须定义hashCode()方法。

 

常用HashSet,因为快。

 

posted @ 2017-02-23 18:48  wuyongwork  阅读(297)  评论(0编辑  收藏  举报