亲TreeSet是collection集合里的Set集合,Map集合里面有个自己的treeMap集合,这个才是利用了二叉树原理,来进行集合的自然排序,当集合里面的对象已经定义了自然排序的规则是,就会按照自然排序进行排序。如果要进行自定义的排序,有两种方法可以实现,
第一种就是让假如Map集合的元素实现Comparable,然后实现在方法中覆盖compareTo方法,不过在定义一个类的时候最好是完善这个类的比较方法,比如复写equals方法,复写hashCode方法,复写了这些可以把你的这个类的对象作为元素放到不同的集合中区。
第二种方法就是完成一个比较器,自定义一个比较器,实现Comparator接口,然后复写compare方法,按照实际需要,来定义这个比较器需要排序的方法。然后将这个比较器作为参数来初始化集合,这是集合就拥有了你自定义的比较器,会按照你定义的比较方法来进行排序。 |