增加数组的大小

时间:2014-09-27 21:36:00

标签: java arrays

我要完成这个:

 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方法应该按大小增加数组的大小。 所以我想创建一个新数组,然后在增加它的大小之前将元素复制到新数组。鉴于上述骨架,我该​​如何实现呢?

2 个答案:

答案 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)

您有两种选择:

  1. 使用ArrayList

  2. 通过创建一个新数组并将旧数组复制到它来自己实现它。这还需要跟踪当前使用的当前数组中的元素数量。基本上你将重写ArrayList。这是一个很好的学习练习,但是如果你的作业有其他目标,那么可能需要的时间比你需要的还多。