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