gpt4 book ai didi

java - 有什么方法可以使多个对象初始化更加紧凑吗?

转载 作者:行者123 更新时间:2023-12-01 17:09:42 24 4
gpt4 key购买 nike

我有以下几个 HashMap 初始化(之前在其他地方定义过):

hm1 = new HashMap<String, Integer>();
hm2 = new HashMap<String, Integer>();
.
.
.
hmn = new HashMap<String, Integer>();

一种想法是将引用存储到数组中,然后在 for 循环中创建对象,但这会分配不必要的空间。有什么想法吗?

最佳答案

One idea would be to store the references into an array and then create the objects within a for loop, but that would allocate unnecessary space. Any ideas?

该数组将为每个 HashMap 引用使用 1 个单词,为对象头使用约 3 个单词。与 HashMap 对象占用的空间相比,这是微不足道的。

我认为您在这里所做的(放弃基于数组的解决方案)是“过早优化”。

FWIW,我想不出比使用 HashMap 对象数组更好的方法1。如果 HashMap 对象的数量是动态的,则 ArrayList 替代方案会更好,但您要替换一组实例变量,因此它对您的用例没有明显的优势2

<小时/>

1 - 您可以使用反射,但代码不必要地复杂,并且容易脆弱。此外,您最终可能会使用更多的空间来表示可执行代码,而不是节省的空间来表示数组。我不推荐这种方法。

2 - 它使用更多空间,尽管这不应该出现在您的议程上。

关于java - 有什么方法可以使多个对象初始化更加紧凑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24275724/

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