美文网首页
【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的实现

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