一个可以在Java中处理多达N个元素的数组?

时间:2012-04-15 23:44:34

标签: java arrays

目前我有一个像这样构造的数组:

Car[] garage = new Car[5];
garage[0] = new Car("Ford", "Focus", "S301 ABN");
garage[1] = new Car("Opel", "Astra", "WA55 AAP");
garage[2] = new Car("Ford", "Explorer", "L66 4ABE");
garage[3] = new Car("Dodge", "Viper", "FA55 SAM");
garage[4] = new Car("Ferrari", "F50", "SAS3 47S");

但是,我需要通过来自JComboBox的用户定义值来设置数组的大小。我已经让JComboBox设置了值,但它会抛出ArrayIndexOutOfBoundsException,因为存在的元素不在数组索引范围内。所以我的问题是,在用户选择数组大小后,我应该以什么方式将元素添加到数组中?

1 个答案:

答案 0 :(得分:2)

导入java.util.ArrayList,并使用ArrayList数据结构而不是普通数组。

为了对您发布的代码执行相同的操作,您将使用类似以下代码:

List<Car> garage = new ArrayList();
garage.add(new Car("Ford", "Focus", "S301 ABN"));
//etc

要获取车库的第n个元素,请使用garage.get(n)