关于一维数组开头插入单元的问题
我想问一下,对于这样的一个一维数组
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;
}