如何使用Java中的for循环生成具有不同变量名的n个实例

时间:2012-10-06 13:10:08

标签: java

我正在尝试运行模拟,其中在for循环中生成一系列人,然后我在不同的类中使用它们来执行某些任务。

我不确定如何生成n个人对象,同时使程序可以访问它们(即具有变量名称,以便我可以使用他们的方法)

3 个答案:

答案 0 :(得分:2)

- 使用Collection框架

- Map适用于此实施。

Map<String,Person> personMap = HashMap<String,Person>();

personMap.put("person1",new Person("Vivek"));
personMap.put("person2",new Person("Vicky"));

答案 1 :(得分:1)

您通常无法在正在运行的程序中创建新的源代码(除非您转到我认为您不需要的字节代码生成和类加载器)。

而不是

Person a = new Person("A");
Person b = new Person("B");
a.doStuff();
b.doStuff();

考虑使用地图(未经测试):

Map<String, Person> map = new HashMap();
map.put("a", new Person("A"));
map.put("b", new Person("B"));

map.get("a").doStuff(); // on A
map.get("b").doStuff(); // on B

答案 2 :(得分:1)

您可以使用数组。

// create people
int n = 30;
Human[] human = new Human[n];    
for (int i=0; i<n; i++) {
  human[i] = new Human();
}

// access specific person
human[3].doSomething();
// access all people
for (Human h:human) {
  h.doSomething();
}

替代方案:使用人员列表/集合/地图。