gpt4 book ai didi

java - ArrayList 和 HashSet/LinkedHashSet 谁消耗更多内存?

转载 作者:行者123 更新时间:2023-11-30 05:55:02 27 4
gpt4 key购买 nike

我有一个非常庞大的集合,因此即使相对较小的内存差异也会产生影响。

或者差异很小?

当我们添加更多元素时,内存消耗增长是否有所不同?

我相信 LinkedHashSet 每 N 个元素比 HashSet 消耗更多的内存(用于存储链表链接),但我无法将 ArrayList 与 HashSet 进行比较。

最佳答案

通常,HashMap 每个条目使用 32 字节(12 字节 header + 16 字节数据 + 4 字节填充)。它还将使用 4 * 容量字节,因此当一切完成后,HashMap 对象将占用

32 * size + 4 * capacity bytes
另一方面, ArrayList 通常为每个条目分配 4-8 个字节。然而,如果您分配更大的 ArrayList 容量,并且只保存几个元素,则该容量可能会更多。

关于java - ArrayList 和 HashSet/LinkedHashSet 谁消耗更多内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53323854/

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