ConcurrentNavigableMap - это просто интерфейс.Вам нужно использовать конкретный класс, реализующий его, который в стандартной библиотеке коллекций равен ConcurrentSkipListMap .
Вы должны иметь возможность использовать ConcurrentSkipListMap в качестве замены для TreeMap, включая использованиекомпаратор.Операции обычно имеют схожие характеристики производительности (O (log n)), но, как я понимаю, операция ConcurrentSkipListMap size () требует обхода списка пропусков, а не просто чтения переменной, поэтому просто будьте осторожны, если вы часто вызываете это прибольшая карта.