如何获取地图的大小?

Neo*_*rge 3 haxe

是否可以获取地图长度/大小?出于某种原因,我需要知道地图的大小以进行调试。

我似乎不能做这样的事情:

map = new Map<Int, MyObject>();
map.set(.., ..);
map.set(.., ..);
map.length // should be 2
Run Code Online (Sandbox Code Playgroud)

我希望这是可能的。如果不是,为什么?

Jon*_*aco 5

您可以使用Lambda.count(map).

但是要知道这将遍历所有值并且可能很昂贵。


至于为什么length接口中没有属性:

Map 实现很少基于长度,因此很难知道长度,除非您为其维护一个额外的计数器,这在大多数情况下是没有用的。

问题 #1663:*Map 和其他数据结构的大小(评论)