Java中的集合框架之TreeSet排序规则
1、TreeSet排序规则
TreeSet集合是一个可以指定元素顺序,即:TreeSet集合是有序的集合类。默认情况下,TreeSet集合的排序规则是自然排序。
自然排序:就是元素自身具备的比较性实现了Comparable接口的compareTo()方法。
2、自定义排序规则
当我们使用TreeSet集合存储自定义对象时,这时候如果不自定义排序规则,则程序会抛出异常。如下图所示:
2.1、第一种排序方式
自定义排序规则,需要将自定义对象类实现Comparable接口,并且实现其中的compareTo()方法,在该方法中定义自定义排序规则。
测试案例:
2.2、第二种排序方式
这种排序方式是在TreeSet的构造方法中,传递一个比较器Comparator。该比较器定义了排序规则。
当构造方法被初始化时,就会根据比较器的排序规则,将集合中的元素进行排序。
使用第二种排序方式,需要实现Comparator接口,并且实现compare()方法,该方法是定义排序规则的。
一般来说,最好使用匿名内部类的方式,实现Comparator接口。
注:compare()方法的返回值是一个int值。
当返回值大于0时,o1大于o2。
当返回值等于0时,o1等于o2。
当返回值小于0时,o1小于o2。
综上,Java中集合框架之TreeSet集合排序规则介绍完了。
这是我的第43篇文章,谢谢大家阅读。