1、自然排序:集合中的类需要实现comparable接口;如果不实现该接口会报类型转换异常

TreeSet集合是用来对其元素进行排序的,同样它也可以保证元素的唯一 

 

 

使用TreeSet集合来排序,当compareTo方法的返回值为0,表示被比较的元素与比较的元素是同一个对象

 

2、比较器排序:

String类的compareTo方法默认是按字典顺序比较两个字符串,当我们需要按照特定的需求来比较时(比如按照字符串的长度来比较),就需要定义比较器,eg;

 

 

 

 

分析如下:

 总结:treeSet中存的元素,是由比较器的方法compare()或compareto()决定的;当往treeset中添加元素时,会自动调用compare()或compareto()方法,方法返回为0,就不会把该元素存到treeset集合中(这样既保证了元素的唯一性又实现了排序功能)

 

https://www.bilibili.com/video/BV1FK4y1x7Ny?p=89