我正在用 Java 编写一些东西,有关上下文,请参阅这个问题:Java 中的马尔可夫模型决策过程
我有两个选择:
byte[MAX][4] mypatterns;
或 ArrayList mypatterns
我可以在创建数组时使用 Java ArrayList 并附加一个新数组,或者通过计算所有可能的数据组合来使用静态数组,然后循环查看哪些索引是“打开或关闭”的。
本质上,我想知道是否应该分配一个可能包含未初始化值的大块,或者使用动态数组。
我以 fps 运行,因此每帧循环 200 个元素可能会非常慢,特别是因为我将有多个此循环实例。
根据理论和我所听到的,动态数组非常低效
我的问题是:循环遍历一个包含 200 个元素的数组会比将对象附加到动态数组更快吗?
编辑>>>
更多信息:
- 我会知道数组的最大长度,如果它是静态的。
- 数组中的项目会经常更改,但它们的大小是恒定的,因此我可以轻松更改它们。
- 静态分配它就像一个内存池
- 其他实例的初始化数据可能比其他实例多或少