如何最高效给数组增加一个元素

sprsong
03-08-03 4 189

加入给一个长度为10的数据增加第11个元素,有没有什么好的放法可以直接append,而不用建立临时数组再遍历每个元素来回澄倒。

crofton
2003-08-04 00:40

非常简单 没有注释!

public Object[] appendTo(Object value, Object[] source) {
Object[] dest = new Object[source.length + 1];
System.arraycopy(source, 0, dest, 0, source.length);
dest[source.length] = value;
return dest;
}

sprsong
2003-08-04 00:52

我改了个名字,设成了静态,这样就不用new了!

public static Object[] ArrayAppend(Object[] source,Object value) {
Object[] dest = new Object[source.length + 1];
System.arraycopy(source, 0, dest, 0, source.length);
dest[source.length] = value;
return dest;
}

hyzou
2003-08-04 10:43

arrayCopy在多维数组中有bug,要小心使用

sprsong
2003-08-04 10:48

谢谢