什么时候用TreeSet

likgui 2007-04-29 11:32:11
如题
...全文
463 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
daniel_kaka 2007-05-11
  • 打赏
  • 举报
回复
当你需要的结果去重、排序的时候可以用TreeSet
iamsangster 2007-05-11
  • 打赏
  • 举报
回复
treeSet 用的是Comparator区分重复
HashSet 用hashCode()和equals()区分重复
JIEK_ONE 2007-04-30
  • 打赏
  • 举报
回复
当你总是需要一个排好序状态的set的时候就用TreeSet
gongyali2005 2007-04-30
  • 打赏
  • 举报
回复
没有重复值的,排好序的集合

就需要他了.
打开下面链接,直接免费下载资源: https://renmaiwang.cn/s/3ntzc 关于java集合比较器的创建和使用概述: 在java集合中,TreeSet集合和TreeMap集合底层数据结构都是自平衡二叉树,所以在这两个集合中添加元素的时候会实现自动排序,排序方式为中序排序(即左根右的方式进行排序,详情请见二叉树数据结构,这里不做赘述)。SUN公司编写源代码的时候已经为我们写好了排序代码,因此在我们输入数据元素后会实现自动排序(这里的数据都是对象,也就是引用类型,不能是基本数据类型),源码中可见底层是调用了compareTo()方法进行了排序(详情请见TreeSet或者TreeMap源码)如果我们要实现自定义的引用类型排序需要重写排序方法,就必须重写排序方法,有Java集合框架中的比较器是用于定制排序规则的关键工具,尤其在使用`TreeSet`和`TreeMap`等基于自平衡二叉树结构的集合时。本文将深入探讨三种比较器的实现方式,分别是:实现`Comparable`接口和实现`Comparator`接口。我们来看实现`Comparable`接口的方式。`Comparable`接口适用于那些需要自定义排序逻辑的类。例如,假设我们有一个`Person`类,包含`age`和`name`属性。为了使`Person`对象在`TreeSet`或`TreeMap`中按照特定规则排序,我们需要让`Person`类实现`Comparable`接口并重写`compareTo()`方法。如下所示:```javaclass Person implements Comparable { int age; String name; public Person(int age, String name) { this.age = age; this.name = name;

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧