gpt4 book ai didi

Java:压缩一个 HashMap(类似于 ArrayList#trimToSize)

转载 作者:行者123 更新时间:2023-11-30 06:33:39 30 4
gpt4 key购买 nike

有没有一种方法可以像通过 ArrayList 的 trimToSize() 方法一样压缩 HashMap?

我能想到的一种方法是遍历当前映射中的所有条目并填充一个新条目,然后用新条目替换原始条目。

有没有更好的方法来完成这个?

最佳答案

好吧,您不需要手动进行迭代 - 您可以使用:

map = new HashMap<String, String>(map); // Adjust type arguments as necessary

我相信这将为您完成所有迭代。 可能 clone() 会做同样的事情,但我不确定。

无论哪种方式,我都不认为您遗漏了任何东西 - 我认为在当前 API 中没有任何方法可以执行“修剪”操作。与 ArrayList 不同,这样的操作无论如何都会相当复杂(就像展开一样)——它不仅仅是创建一个新数组并执行单个数组复制的情况。条目需要重新分配。让 HashMap 在内部自行执行此操作的好处可能只是散列代码不需要重新计算。

关于Java:压缩一个 HashMap(类似于 ArrayList#trimToSize),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7750083/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com