美文网首页
java集合中的TreeSet

java集合中的TreeSet

作者: 以宇宙为海的蓝鲸 | 来源:发表于2019-07-31 21:44 被阅读0次

    底层:树 红黑树/二叉树/平衡树

    优缺点:维护数据的大小时是有序的;添加速度和删除速度高于ArrayList,比其他低;查询速度高于List低于Hash。

    如果对于存储的数据有排序的要求,那么首选TreeSet.

    常见方法:

    方法 作用
    add() 如果指定的元素不存在,则添加指定的元素到集合中
    clear() 清除此集合中的所有元素
    remove() 如果指定的元素存在,则删除指定的元素
    addAll() 如果指定的元素不存在,则添加指定的元素集合到集合中
    removeAll() 删除指定元素集合中的元素。
    retainAll() 只保留指定元素集合的元素
    size() 返回集合元素个数
    isEmpty() 判断集合是否为空,返回Boolean值,如果不包含,返回true
    contains() 查看是否包含指定元素
    containsAll() 查看是否包含指定元素集合
    iterator() 以升序返回此集合中元素的迭代器。
    first() 返回此集合中当前的第一个(最低)元素
    last() 返回此集合中当前的最后一个(最高)元素
    floor() 返回此集合中小于或等于给定元素的最大元素,或者null如果没有这样的元素
    ceiling() 返回此集合中大于或等于给定元素的最小元素,或者null如果没有这样的元素
    higher 返回此集合中大于给定元素的最小元素,或者null如果没有这样的元素
    lower() 返回此集合中小于给定元素的最大元素,或者null如果没有这样的元素

    迭代方法:foreach;迭代器

    注意事项:

    • 存在元素时默认按照字典升序的规则进行排序。
    • 如果存储的元素需要按照指定的需求进行排序,创建TreeSet对象时,需指定比较器。
    • 如果存在的元素时自定义对象:
      • 要么自定义对象的所属类,实现了内部比较器Comparable接口,重写了compare to方法。
      • 要么创建TreeSet对象时,指定了外部比较器,重写了compare方法。
    • set中每个元素存储的时候,都是存储在一个map集合中,map集合的键是set中的元素,map中的值是自动添加的一个默认值。

    相关文章

      网友评论

          本文标题:java集合中的TreeSet

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