public static void arrayReader(Fractions[] array)
{
System.out.println("This array has " + array.length + " elements");
for(int count = 0; count < array.length; count++)
{
System.out.println("For cell number " + (count+1));
array[count] = new Fractions();
array[count].read();
}
这是我写的代码的一部分。除了使用ArrayList而不是数组之外,我被告知要做同样的事情。所以我遇到了一个问题。我怎么能做数组[count] .read();
我试过了,但它不会起作用:
public static void readArray(ArrayList<Fractions> array)
{
System.out.println("This array has " + array.size() + " elements");
for(int count = 0; count < array.size(); count++)
{
Fractions fraction = new Fractions();
fraction.read();
array.set(count, new Fractions());
array.add(fraction);
}
}
我不想让你做我的作业,我真的被困了。所以请帮助我理解这是如何工作的。
答案 0 :(得分:0)
您可以使用
array.add(count, new Fractions());
上面的行等同于上一代码中的以下行
array[count] = new Fractions();
即在ArrayList中的特定索引处添加新的Fractions()。
同样适用于其他行
array[count].read();
你会有
(array.get(count)).read();
答案 1 :(得分:0)
首先:
array[count] = new Fractions();
不等同于:
array.set(count, new Fractions());
array.add(fraction);
arraylist.set
方法:
Replaces the element at the specified position in this list
with the specified element.
arrayList.add
方法:
Appends the specified element to the end of this list.
仅限使用:
array.add(fraction);
然后for循环不同
如果你在做:
array = new ArrayList(5); //initial capacity
for(int count = 0; count < array.size(); count++)
大小为0.
如果你这样做:
array = new Fractions[5]; //size
for(int count = 0; count < array.size(); count++)
大小为5 。