TreeSet和SortedSet

TreeSet和SortedSet这两天写接口 看到对方提供的接口 签名生成方法里 写到 SortedSet 和 TreeSet 所以查了点资料 看了一下 treeset 总结一下 避免以后忘记 首先 最重要的 就是有序 SortedSet 继承自 Set 他根据对象的比较顺序 可以是自然顺序 也可以是自定义的顺序 而不是插入顺序进行排序 LinkedHashSe 维护的是插入时的顺序 TreeSet 是 SortedSet 的唯一实现类 红黑

这两天写接口,看到对方提供的接口,签名生成方法里,写到SortedSet和TreeSet,所以查了点资料,看了一下treeset,总结一下,避免以后忘记。

首先,最重要的,就是有序。

SortedSet继承自Set,他根据对象的比较顺序(可以是自然顺序,也可以是自定义的顺序),而不是插入顺序进行排序;

LinkedHashSet,维护的是插入时的顺序;

TreeSet是SortedSet的唯一实现类,红黑树实现,树形结构,它的本质可以理解为是有序,无重复的元素的集合。

因为都是有序的,所以相应的就有get,remove和add方法。

HashSet,看他的源码可以知道,他的底层,是hashmap

一段别人总结的话:

TreeSet 是二差树实现的,Treeset中的数据是自动排好序的,不允许放入null值。 

2、HashSet 是哈希表实现的,HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束。 

3、HashSet要求放入的对象必须实现HashCode()方法,放入的对象,是以hashcode码作为标识的,而具有相同内容的 String对象,hashcode是一样,所以放入的内容不能重复。但是同一个类的对象可以放入不同的实例 。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177698.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午6:55
下一篇 2026年3月26日 下午6:55


相关推荐

  • 钉钉喊话企业:技术文档可以给,API免费调用,但建议不装“龙虾”丨AI“养虾”冷热对谈

    钉钉喊话企业:技术文档可以给,API免费调用,但建议不装“龙虾”丨AI“养虾”冷热对谈

    2026年3月12日
    2
  • c语言字符数组及使用方法

    c语言字符数组及使用方法c 语言字符串及使用方法一 字符数组和字符串二 字符数组的输入三 字符数组的输出四 C 语言字符串处理函数 1 字符串连接函数 strcat 一 字符数组和字符串用来存放字符的数组称为字符数组 例如 1 chara 10 一维字符数组 2 charb 5 10 二维字符数组 3 charc 20 c p r

    2026年2月2日
    4
  • jquery图片轮播插件_html轮播图怎么做

    jquery图片轮播插件_html轮播图怎么做轮播图插件为简易的jQuery轮播图,实现点击无缝轮播,可用在移动端。样式有问题,叠加修改即可。下载地址:https://github.com/Summer-Lin/carouselHTML代码

    2022年8月3日
    7
  • 雷达原理—时频分析–4.小波分解在信号分析中的应用实例

    雷达原理—时频分析–4.小波分解在信号分析中的应用实例小波分解在信号分析中的应用实例 1 含噪的三角波与正弦波的组合其表达式为 s t t 1500 sin 0 3t b t 1 t t500 sin 0 3t b t 501 t 1000s t begin cases frac t 1 500 sin 0 3t b t amp 1 t 500 frac 1000 t 500 sin 0 3t b t amp 501 t 1000 end cases s t 500t

    2026年3月26日
    2
  • 节流防抖函数

    节流防抖函数概念 debounce 防抖 throttle 节流节流节流的原理很简单 如果你持续触发事件 每隔一段时间 只执行一次事件 根据首次是否执行以及结束后是否执行 效果有所不同 实现的方式也有所不同 我们用 leading 代表首次是否执行 trailing 代表结束后是否再执行一次 关于节流的实现 有两种主流的实现方式 一种是使用时间戳 一种是设置定时器 使用时间戳 让我们来看第一种方法 使用时间戳 当触发事件的时候 我们取出当前的时间戳 然后减去之前的时间戳 最一开始值设为 0 如

    2026年3月20日
    2
  • 如何使vmware虚拟机中的Redflag Linux操作系统能够上网?

    如何使vmware虚拟机中的Redflag Linux操作系统能够上网? 第一种情况:主机使用PPPOE拨号上网方法一:NAT方式1、先关闭虚拟机中的操作系统,回到虚拟机主界面双击主界面右上方的的“Ethernet”,弹出“NetworkAdapter”对话框,选择“NAT”2、启动虚拟机操作系统,设置IP为动态获取,即通过DHCP获得。此时虚拟机中的操作系统用的是主机的IP,主机能够上网,那么虚拟机也能。方法二:Host-only方式1

    2022年8月20日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号