comparable接口     是主要是用来自定义类存储在主要是TreeSet,TreeMap(键)集合中存储时,自定通过实现这种接口得到自然排序的功能。

comparator 接口  是主要是用来自定义类存储在主要是TreeSet,TreeMap(键)集合中存储时,自定通过实现这种接口得到自定义排序的功能。

区别:

1 comparable在lang包    comparator 在util包

2.实现comparable要重写compareTo方法    comparator要重新compare方法

3.comparable是实体类来实现的(要保存对象的类中),

comparator 要单独放一个类中,在treeset,treemap,构造方法使用,在list集合中sort方法中,在hashset ,hashmap不可以使用

4.同时使用时自定义的排序优先级高于自然排序优先级             comparable<comparator 的区别

04-27 03:05