TreeSet使用

TreeSet


TreeSet使用

程序位置:

Student类程序位置:

添加字符串元素


添加Person类元素


添加Person类型数据发现出现了数据类型转换异常

Person类不能转换为java.Comparable类型

因为对于红黑树而言,左边节点数据要比中间根节点数据小,右边节点数据要比中间根节点大

对于添加的Person类元素而言,不知道怎么比元素大小,自然发生了类型转换异常

要想把Person类型元素添加到TreeSet集合当中,必须要实现Comparable接口,如下所示

比较规则:先比较姓名,再比较年龄

  1. Student类实现Comparable接口
  2. 重写compareTo方法
  3. 测试程序如下图:

    观察结果我们发现,当添加元素姓名不一致时先比较姓名,排序方式为字母顺序(首字母、次字母......)

当添加元素姓名一致,比较年龄大小

总结
  • 元素必须要实现Comparable接口
  • compareTo方法返回值为0,认为是重复元素
整体程序(Person类)




posted @ 2022-04-06 10:21  无关风月7707  阅读(31)  评论(0编辑  收藏  举报