日期:2014-05-20  浏览次数:20682 次

关于一维数组开头插入单元的问题
我想问一下,对于这样的一个一维数组
int   a   =   new   int[]{1,2,3,5,8,9,6,7,5};

如果我想在这个一维数组开头插入一个或多个单元,可以用什么直接来实现的吗???

比如在php中用array_unshift这个就可以实现了!!!!可是在Java中呢???
可以用什么实现呢????

希望得到大家的指导!!!!

------解决方案--------------------
不行!
数组一旦确定内存大小就固定了,要插入新元素只能申请新的空间
如果有这种需求就用容器吧,比如List,插入性能高一点
------解决方案--------------------
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;
}