我想问一下,对于这样的一个一维数组
int a = new int[]{1,2,3,5,8,9,6,7,5};如果我想在这个一维数组开头插入一个或多个单元,可以用什么直接来实现的吗???比如在php中用array_unshift这个就可以实现了!!!!可是在Java中呢???
可以用什么实现呢????希望得到大家的指导!!!!

解决方案 »

  1.   

    不行!
    数组一旦确定内存大小就固定了,要插入新元素只能申请新的空间
    如果有这种需求就用容器吧,比如List,插入性能高一点
      

  2.   

    用List吧
    数组长度是不可变的
      

  3.   

    int[] a = new int[]{1,2,3,5,8,9,6,7,5};//在数组头部插入n个空位置
    void insertElementAtArrayHead(int n)
    {
       //分配一个新的数组
       int[] newA=new int[a.length+n];
       //将原数组内容拷贝过来
       System.arraycopy(a,0,newA,n,a.length);
       //将新数组赋值给原来的数组引用
       a=newA;
    }
      

  4.   

    redduke1202(勿以分少而不回★★勿以分多而灌水)这个是和我的差不多的!!!!