我正在处理大量小物件。我正在使用ChronicleMap
,效果非常好。
地图条目的最大数量是否限制为Integer.MAX_VALUE
?
如果不是,那么如果条目数大于map.size()
,如何在Integer.MAX_VALUE
返回Integer.MAX_VALUE
的情况下获取地图的实际大小?
谢谢。
答案 0 :(得分:5)
您可以使用ChronicleMap.longSize
来代替long
。如果每个来源的大小大于Integer.MAX_VALUE
,ChronicleMap.size
将返回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个元素,返回 整数。MAX_VALUE。
答案 1 :(得分:2)
ChronicleMap的大小不限于integer.MAX_VALUE作为传统地图。要获取大小,您可以使用longSize()
来返回长值