Java:给定自定义订单</class>的排序集合<class>

时间:2014-06-15 13:05:25

标签: java sorting

我希望在给定个人订单的情况下对List/Set Class进行排序(例如A.class&lt; B.class&lt; C.class。但是Class没有实现Comparable,我显然无法在不重写整个Java语言的情况下自定义类Class,那么我的选择是什么?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以使用自定义比较器。只需实现该接口,您就可以将它与Collections.sort()和有序集合一起使用(将比较器作为构造函数传递)

Comparator<Class<?>> c=new Comparator<Class<?>>{
  @Override
  int compare(Class<?> a, Class<?> b) { 
     // your comparison logic 
  }
};

List<Class<?>> list= ...
Collections.sort(list, c);

Set<Class<?>> set=new TreeSet<>(c);