如何有效地将数组更改为arraylist

时间:2017-01-06 16:52:08

标签: java arrays arraylist

我有像这样声明的数组变量:

public class carshop {
    int numofcars = 0;
    int maxcars = 10;
    ACar[] allCars;
    private CarShop;

public CarShop() { //Car Constructor
    maxcars = maxE;
    allCars = new ACar[maxcars];
    }
}

在我的编码示例中,每次用户添加新车(通过字符串输入)时,它都会将numofcars增加1.我尝试将数组类型更改为arraylist

ArrayList<ACar> allCars = new ArrayList<ACar>(Arrays.asList());

我将allCars = new ACar[maxcars];行更改为:allCars = ACar.add(maxcars);

然而,现在eclipse正在给我错误说&#34;方法add(int)未定义为类型ACar&#34;。

你能告诉我我做错了什么吗?对不起,如果我解释得不好。

1 个答案:

答案 0 :(得分:2)

ACar是一个数组,所以它没有add()方法,你需要通过ACar[x] = value;

来插入值

如果您想轻松地将数组转换为List,您可以这样做:

List<ACar> carList = Arrays.asList(allCars);

或具体为ArrayList:

ArrayList<ACar> carList = new ArrayList<ACar>(Arrays.asList(allCars));

但是,您还应该考虑为什么同时拥有数组和ArrayList。你可以改为:

List<ACar> carList = new ArrayList<ACar>(maxCars);

maxCars变量是可选的,除非您尝试优化代码,否则不需要设置ArrayList的初始大小。