添加数组的对象结束

时间:2015-05-05 10:54:01

标签: java arrays

首先,嗨大家阅读这个主题。我必须在数组末尾添加一个对象。例如在 (公共C(int,int,int)方法) 我必须扩展数组 " array2" array2 的两个对象(AB b1 = a1.new B();) ,有一个 的对象(AB b2 = a1.new B();)
我该如何添加对象?
非常感谢大家。 以下代码位于测试类

<pre>public class Test{

public static void main(String[] args) {
      A a1 = new A();
      A.B b1 = a1.new B();
      A.B b2 = a1.new B();
      A.B.C c1 = b1.new C();
      A.B.C c2 = b1.new C ();
      A.B.C c3 = b2.new C();}}
//And the other class that following
<pre>public class A{
    B [] array1;
    class B{
      C [] array2;
     class C{
       private int x;
       private int y;
       private int z;

      //For each creating C object, array "array2" must be extended.
      //add new C to end of array,How can I do?
      public C(int x, int y, int z){
      super();
      this.x =x;
      this.y=y;
      this.z=z;
   }
}
            //for each creating B object, array "array1" must be extended.
            //and add new B to end of array,How can I do that?
            public B() {
            super();
            array2 = new C[0];
   }}

      public A() {
        super();
        array1 = new B[0];
    }}

2 个答案:

答案 0 :(得分:2)

在Java中,数组具有静态大小,这意味着一旦初始化,您就无法更改大小。

可以做的是创建一个大小为n + m的新数组,其中n当前大小数组和m是您要添加的项目数量。然后,您可以在您想要的位置插入新元素,并使用System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length)之类的内容移动您之前的元素。

话虽这么说,一种更简单的方法是在数组列表的特定位置使用ArrayList,它为insert提供了一种方法。

答案 1 :(得分:1)

如果您使用ArrayList,则更容易。 数组具有固定的大小。唯一的方法是分配一个更大的新数组。