我的收藏非常庞大,因此即使相对较小的内存差异也可以有所作为。
还是区别很小?
当我们添加更多元素时,内存消耗增长是否有所不同?
我相信LinkedHashSet每N个元素比HashSet占用更多的内存(以存储链接列表链接),但是我无法将ArrayList与HashSet进行比较。
答案 0 :(得分:1)
通常,HashMap
每个条目使用32字节(12字节标题+ 16字节数据+ 4字节填充)。它还将使用4 *的容量字节,因此说完之后,HashMap
对象将占据
32 * size + 4 * capacity bytes
另一方面,ArrayList
通常为每个条目分配4-8字节。但是,如果分配更大容量的ArrayList
并且仅容纳几个元素,则可能会更多。