ConcurrentSkipListMap添加在泛型类中定义的Comparator

时间:2018-06-18 07:36:08

标签: java java-8 comparator concurrentskiplistmap

我有这堂课:

public abstract class Orderable<ID, T extends Comparable, V extends Orderable> implements Comparator<V>{
public abstract ID getId();
public abstract T getOrderParam();

public int compare(V o1, V o2) {
    int compared = o1.getRankParam().compareTo(o2.getRankParam());
    if (compared == 0) return o2.getId().toString().compareTo(o1.getId().toString());
    return compared;
}

现在我想创建一个ConcurrentSkipListMap,它作为Comparator传递我在Orderable Class中定义的内容。目标是保持ConcurrentSkipListMap与V的比较器一起排序,其中V是扩展Orderable的泛型类。

    private volatile ConcurrentSkipListMap<ID, V> concurrentSkipListMap;
private volatile AtomicInteger size;

public LeaderBoardImpl() {
    concurrentSkipListMap = new ConcurrentSkipListMap<ID, V>(**** HERE I NEED TO PASS COMPARATOR****);
    size = new AtomicInteger(0);
}

我不确定如何传递泛型类的比较器。 谢谢 阿尔伯特

0 个答案:

没有答案