bgu*_*uiz 2 java memory collections hashmap
有没有办法压缩HashMap,你可以通过其trimToSize()方法使用ArrayList?
我能想到的一种方法是遍历当前地图中的所有条目并填充新的条目,然后用新的条目替换原始条目.
有没有更好的方法来实现这一目标?
那么你不需要手动迭代- 你可以使用:
map = new HashMap<String, String>(map); // Adjust type arguments as necessary
Run Code Online (Sandbox Code Playgroud)
我相信会为你做所有的迭代.这可能是clone()会做同样的事情,但我不知道.
无论哪种方式,我都不相信你错过任何东西 - 我认为在当前的API中没有任何方法可以执行"修剪"操作.不同的是ArrayList,这样的操作无论如何都会相当复杂(如扩展) - 它不仅仅是创建新数组和执行单个数组副本的情况.条目需要重新分配.在HashMap内部完成此操作的好处可能只是哈希码不需要重新计算.
| 归档时间: |
|
| 查看次数: |
2181 次 |
| 最近记录: |