是否可以获取地图长度/大小?出于某种原因,我需要知道地图的大小以便进行调试。
我似乎无法做到这样的事情:
map = new Map<Int, MyObject>();
map.set(.., ..);
map.set(.., ..);
map.length // should be 2
我希望这是可能的。如果不是,为什么?
答案 0 :(得分:4)
您可以使用Lambda.count(map)
。
但是要知道这将遍历所有值并且可能很昂贵。
至于为什么界面中没有length
属性:
地图实现很少基于长度,所以除非你为它维护一个额外的计数器,否则很难知道它的长度,在大多数情况下它没用。
- Issue #1663: Size of *Map and other Data Structures (comment)