我要完成这个:
public class TabCouples {
private Couple[] tab;
private final int size = 10;
public TabCouples()
{
//some code 1
}
public void add(Couple C)
{
//some code 2
}
其中Couple是一个带有构造函数Couple的类(int a,int b)。在向其添加C之前,add方法应该按大小增加数组的大小。 所以我想创建一个新数组,然后在增加它的大小之前将元素复制到新数组。鉴于上述骨架,我该如何实现呢?
答案 0 :(得分:2)
您无法更改数组的大小,但您可以创建一个新数组并在其上复制旧数组。
所以你的方法:
public void add (Couple c){
Couple[] newTab = Arrays.copyOf(tab, tab.length +size);
tab= newTab;
// add the new element on the new array tab
}
注意:你应该像我们在其他问题中建议的那样使用ArrayList,除非你有充分的理由这样做:)。 请停止提出同样的问题!
答案 1 :(得分:0)
您有两种选择:
使用ArrayList
。
通过创建一个新数组并将旧数组复制到它来自己实现它。这还需要跟踪当前使用的当前数组中的元素数量。基本上你将重写ArrayList
。这是一个很好的学习练习,但是如果你的作业有其他目标,那么可能需要的时间比你需要的还多。