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

03-08-03 sprsong
加入给一个长度为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;
}
<p>

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
谢谢

猜你喜欢