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);
}
Я не уверен, как передать компаратор универсального класса. Спасибо Альберт