效率,操作方式,线程等因素帮助你选择哪一种容器保存数据。你可以使用java的Vector等适合游戏开发的容器,libgdx提供了一些不错的:
Array:有排序和非排序两种形式。使用后者则不会产生内存上的拷贝,删除某个元素,末尾元素会移动补上;iterator使用原对象,优化了内存但不能用嵌套迭代否则报错。此下有IntArray,longArray等,使用的是基本数据类型,避免java的自动封箱。
snapshotArray:begin和end之间发生修改时会拷贝元素,保证元素不会被重复修改(在begin和end间的删除添加不会即可生效,而是在end时起效,作用是使要执行的删除不会影响遍历)?
DelayedRemovalArray:begin和end之间删除元素的操作会在end时一次性处理,避免重复修改?