如何在java中使用通用比较器对ArrayList进行排序?

时间:2018-01-06 03:24:01

标签: java generics arraylist comparator

我想写一个通用比较器类,它将对我的ArrayList进行排序。为了做到这一点,我应该在静态类ElementComparator的比较函数中写什么?

 public static void main(String[] args) throws InterruptedException {
    Scanner sc = new Scanner(System.in);

    ArrayList<Integer> list = new ArrayList<Integer>();
    list.add(-2);
    list.add(-1);
    list.add(10);

    Collections.sort(list,new ElementComparator());

    for (int i = 0; i < list.size(); i++) {
        System.out.println(list.get(i));
    }

}
static class ElementComparator <T extends Comparable<T>> implements Comparator <T> {


    @Override
    public int compare(T o1,  T o2) {

    }   
};

1 个答案:

答案 0 :(得分:0)

您的泛型类型有一个公共基类 - Comparable,因此您可以直接调用对象上的compareTo方法,并且应该调用该方法来获取比较结果。

PropertyListEncoder