首页 > 代码库 > java回顾之TreeSet
java回顾之TreeSet
上回了解完了HashSet,再来了解它一个朋友TreeSet,它可以确保元素出于排序状态
TreeSet支持两种排序方法:自然排序和定制排序。
自然排序即默认排序,将元素由小到大排序,他会调用元素的CompareTo(Object obj)来比较元素间的大小,然后按升序排列。
所以它实现了Comparable接口。例如obj1.compareTo(obj2),返回0代表相等,返回正数>,返回负数<。
如果试图把一个对象添加到TreeSet中,则对象类必须实现Comparable接口。
例如
class Test{ }public class Err { public static void main(String[] args) { TreeSet tSet=new TreeSet<>(); tSet.add(new test());//第一行只有一个元素,所以没有比较,暂时没出现错误 tSet.add(new test());//第二行,由于没实现Comparable接口,所以没法比较,所以这行会出现错误 TreeSet newTreeSet=new TreeSet<>(); newTreeSet.add(new String("abc")); newTreeSet.add(new Date());//添加了不同类型的数据,所以虽然两个类都实现了Comparable接口,但是还是无法比较,所以会出错 }}
同时加入集合的应该是同一类的对象,否则会发生异常
java回顾之TreeSet
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。