Записи карты выше, чем Integer.MAX_VALUE - PullRequest
0 голосов
/ 25 июня 2018

Я работаю с очень большими коллекциями мелких предметов. Я использую ChronicleMap, который работает очень хорошо.

Максимальное количество записей на карте ограничено Integer.MAX_VALUE?

Если нет, то как получить реальный размер карты, поскольку map.size() возвращает Integer.MAX_VALUE, если число записей превышает Integer.MAX_VALUE?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Вместо этого вы можете использовать ChronicleMap.longSize, чтобы получить размер как long. ChronicleMap.size вернет Integer.MAX_VALUE, если размер больше Integer.MAX_VALUE для источника: https://github.com/OpenHFT/Chronicle-Map/blob/master/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java#L707

Это соответствует интерфейсу Collection.size:

Возвращает количество элементов в этой коллекции. Если эта коллекция содержит больше, чем элементы Integer.MAX_VALUE, возвращает Integer.MAX_VALUE.

0 голосов
/ 25 июня 2018

Размер ChronicleMap не ограничен целым числом. MAX_VALUE как традиционная карта. Чтобы получить размер, вы можете использовать longSize(), который возвращает длинное значение

...