假设我有一个按升序排序的整数数组,我想插入一个新数字并且我知道在什么位置插入它。我怎么能使用 System.arraycopy。
System.arraycopy(items, i, items, i + 1, items.length+1);
items[i] = n;
或者我是否必须从插入的位置(将位置移动一个元素)创建一个临时数组副本到临时数组,然后复制回原始数组
int[] newItems = new int[size + 1];
System.arraycopy(items, i, newItems, i + 1, items.length+1);
items[i] = s;
size++;
System.arraycopy(items, 0, newItems, i, i);
items = newItems;