TreeSet使用
TreeSet
TreeSet使用
程序位置:
Student类程序位置:
添加字符串元素
添加Person类元素
添加Person类型数据发现出现了数据类型转换异常
Person类不能转换为java.Comparable类型
因为对于红黑树而言,左边节点数据要比中间根节点数据小,右边节点数据要比中间根节点大
对于添加的Person类元素而言,不知道怎么比元素大小,自然发生了类型转换异常
要想把Person类型元素添加到TreeSet集合当中,必须要实现Comparable接口,如下所示
比较规则:先比较姓名,再比较年龄
- Student类实现Comparable接口
- 重写compareTo方法
- 测试程序如下图:
观察结果我们发现,当添加元素姓名不一致时先比较姓名,排序方式为字母顺序(首字母、次字母......)
当添加元素姓名一致,比较年龄大小
总结
- 元素必须要实现Comparable接口
- compareTo方法返回值为0,认为是重复元素
整体程序(Person类)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律