美文网首页
【Java】Set的实现

【Java】Set的实现

作者: NoFacePeace | 来源:发表于2017-10-01 12:33 被阅读0次

概论

当你创建自己的类型时,要意识到Set需要一种方式来维护存储顺序,而存储顺序如何维护,则是在Set的不同实现之间会有所变化。因此,不同的Set实现不仅具有不同的行为,而且它们对于可以在特定的Set中放置的元素的类型也有不同的要求。

实现 描述
set(interface) 存入Set的每个元素都必须是唯一的,因为Set不保存重复元素。加入Set的元素必须定义equals()方法以确保对象的唯一性。Set与Collection有完全一样的接口。Set接口不保证维护元素的次序
HashSet 为快速查找而设计的Set。存入HashSet的元素必须定义hashCode()
TreeSet 保持次序的Set,底层为树结构。使用它可以从Set中提取有序的序列。元素必须实现Comparable接口
LinkedHashSet 具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。元素也必须定义hashCode()方法

如果没有其他的限制,HashSet应该是你默认的选择,因为它对速度进行了优化。

相关文章

  • Java基础之Set

    前言 今天学习java基础类型Set,解剖Set的底层实现。 一、Set子类 Set接口继承自Collection...

  • JAVA 集合框架(四)一些问题的解决

    Java实现对List去重 思路,通过Set不重复元素的特点,新建一个Set,如下 Java实现对List去重,并...

  • 【Java】Set的实现

    概论 当你创建自己的类型时,要意识到Set需要一种方式来维护存储顺序,而存储顺序如何维护,则是在Set的不同实现之...

  • Android面试Java基础篇(一)

    问:Java集合类List,Map,Set相关的实现原理。 答:List和Set都是Collection的子类 ...

  • 集合

    java集合接口有List,Set,Map。 List和Set都实现了Collection(对集合排序,遍历)接口...

  • Java的HashSet vs. TreeSet vs. Lin

    set是用来存储没有重复的元素的。set在java中有三种比较常用实现:HashSet, TreeSet and ...

  • java集合----HashSet

    csdn 个人博客 一.前言 java集合----Set HashSet 是 Set 接口的一个实现类,当然就具有...

  • IDEA快捷键-自用

    编辑JAVA常用快捷键 实现get|set方法 Alt+Insert(get/set)创建构造方法 Alt+In...

  • Map接口

    Java常用集合为List,Set和Map,其中List和Set都实现了Collection接口,而Map并没有 ...

  • HashSet

    HashSet实现了接口Set, Cloneable, java.io.Serializable,继承了Abstr...

网友评论

      本文标题:【Java】Set的实现

      本文链接:https://www.haomeiwen.com/subject/clooextx.html