java - 如何将此数组向右移动
问题描述
我需要将数组 1 索引中的所有内容向右移动,所以如果我输入list.add("E", 1);
,那么我应该得到A,E,B,C,D
/** Moves elements from index..rear-1 one index to the right. */
private void shiftRight(int index) {
/** stores elements of list. */
T[] elements;
/** index of next insertion point; number of elements in list. */
int rear;
assert !isFull();
// you must fill this in
for (index = 0; index < rear-1; index++) {
elements[index] = elements[index+1];
}
}
解决方案
这是我评论的确切实施
public static void main(String[] args) {
Integer[] baseArr = {1, 2, 8, 9};
Integer insertedElement = 255;
Integer insertionIndex = 1;
Integer[] result = new Integer[baseArr.length + 1]; //create array longer by 1 element
System.arraycopy(baseArr, 0, result, 0, insertionIndex); //copy beginning of the array to insertion point
result[insertionIndex] = insertedElement; // insert element
System.arraycopy(baseArr, insertionIndex, result, insertionIndex+1 , result.length - insertionIndex -1); //copy rest to the array after insertion point
System.out.println("Input:"+Arrays.asList(baseArr));
System.out.println("Output:"+Arrays.asList(result));
}
有关使用的详细信息,请参见System.arraycopy
推荐阅读
- c# - 我可以在我的 GraphQL 中将我的 .NET 字典表示为 JSON 字典吗?
- java - Spring REST Repositories 继承空值
- javascript - Javascript:在 html 中使用 onclick 时警报不起作用
- java - 无法合并 Dex Android
- php - 如何从选项php显示一些值
- python - Scrapy 与多处理兼容吗?
- python - pysnmp v3 获取批量
- javascript - 访问派生类中使用 WeakMap 定义的私有变量
- php - 如何用 PHP 识别 AMR 文件?
- vb.net - 如何清除 IEnumerable 的内容