如何从另一个类创建一个对象的arrayList?

时间:2017-03-24 05:58:44

标签: java arraylist

我有3个类,我想在每个类中创建一个对象来控制另一个

例如,我被要求做:

  

生成具有指定数量糖果的糖果模型。

我将在B级做到这一点,但是Candy正处于一个单独的班级

public Candy(String CompanyName, String ProducerName) throws TeamException{

This.CandyProducer = ProducerName;
This.CandyCompany = CompanyName;}

现在我知道我能做到:

Candy FirstCandy = new Candy(KitKat, Stephen);

在Candy类中创建一个对象。

但我想要的是拥有Candy类的5个对象。

我尝试过:

List<Candy> CandyModel = ArrayList<Candy>(numOfCandies);

但它不起作用,因为我无法分配&#34; CompanyName&#34;和&#34; ProducerName&#34;对于ArrayList中的任何糖果。

任何提示?

2 个答案:

答案 0 :(得分:1)

您可以使用循环将新创建的Candy对象添加到列表中

for (int i = 0; i < numOfCandies; i++) {
    CandyModel.add(new Candy("Company" + i, "Producer" + i));
}

ArrayList构造函数创建一个空列表,您需要填充对象。构造函数中的参数是&#34;预期大小&#34;或者&#34;初始内部容量&#34;该列表将增长,但它不会产生任何逻辑差异。

答案 1 :(得分:0)

你也可以在那里创建数组列表时错过新关键字..

Candy FirstCandy = new Candy("KitKat", "Stephen");
Candy SecondCandy = new Candy("KitKat", "Stephen");
Candy ThirdCandy = new Candy("KitKat", "Stephen");

List<Candy> CandyModel =new ArrayList<Candy>();

CandyModel.add(FirstCandy);
CandyModel.add(SecondCandy);
CandyModel.add(ThirdCandy);

你可以使用listIterator或iterator这样的东西来迭代它

ListIterator<Candy> itr=CandyModel.listIterator();  
System.out.println("traversing elements in forward direction...");  
while(itr.hasNext()){  
System.out.println(itr.next());  
}