数组中的对象可以做到吗?

时间:2011-03-24 02:20:11

标签: java android

我是OOP的新手,我正在尝试制作一个简单的游戏来帮助我学习Java。我的想法是制造一个敌人的阶级,但我希望敌人的数量是动态的。我尝试将新对象作为数组而不是手动键入attker1 attker2等等......

Mole attacker[3];
attacker[0] = new Mole();
attacker[1] = new Mole();
attacker[2] = new Mole();

我希望你能理解我想要做的事情。我试过搜索谷歌,但我一直在学习如何用常规数据类型(即int,char等)制作数组。无论我想做什么,我都想知道它叫什么。如果有更好的方法,我也会听。

谢谢。

4 个答案:

答案 0 :(得分:5)

的ArrayList!这些是非常适合您使用的动态阵列。检查出来:http://developer.android.com/reference/java/util/ArrayList.html

答案 1 :(得分:3)

对象数组非常精细(实际上,通常比原始数据类型的简单数组使用更多)。

所以,如果你想让敌人的数量是动态的,你可能想要使用一个Container类 - 特别是一个可调整大小的数组。查看类Vector,ArrayList等

另请注意(我看到Android标记)在绘图循环中创建新对象会导致垃圾收集器被调用并在帧速率工作时减慢帧速率 - 请注意。

您所拥有的内容的变体:

//create enemies
Mole enemies[3];
enemies[0] = new Mole();
enemies[1] = new Mole();
enemies[2] = new Mole();

//an enemy dies!
enemies[1] = null;

//and comes back to life!
enemies[1] = new Mole();

//do something with your enemies....

答案 2 :(得分:1)

假设您正在讨论在 Java 中进行此操作。 你试过搜索吗? 对象列表自定义类列表

看看以下内容:

Interface List

Create List from Java Object Array Example

还有其他方法可以执行此操作,例如 Dictionary ArrayList ,或者如果您的对象实现其他接口,您可以选择也可以使用其他方法,例如 HashSet 等。

希望您通过列表 ArrayList 等获得良好的开端

答案 3 :(得分:0)

您应该使用集合或设置

http://download.oracle.com/javase/1.4.2/docs/api/java/util/List.html

http://download.oracle.com/javase/1.4.2/docs/api/java/util/HashSet.html

开始使用,专家将在以后授权你进行鼹鼠灭绝;)