Java 如何将此数组向右移动
我需要将数组1索引中的所有内容向右移动,因此如果我输入Java 如何将此数组向右移动,java,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; nu
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];
}
}
/**将元素从索引..向后-1向右移动一个索引*/
私有void shiftRight(整数索引){
/**存储列表的元素*/
T[]元素;
/**下一个插入点的索引;列表中的元素数*/
内部后部;
断言!isFull();
//你必须填写这个
对于(索引=0;索引
这是我的评论的示例实现
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));
}
有关Usage的详细信息,请参见。for循环应该从后面开始
for (int i = rear; i > index; i--)
{
elements[i] = elements[i - 1];
}
}创建长度为+1的新数组,复制左侧,插入元素,复制右侧。如果您不想创建另一个数组,请记住,当在两个变量之间交换值时,标准方法是使用第三个临时变量,您可以在此处执行相同操作。很抱歉,我对java的熟练程度不是最好的,所以我想知道添加第三个临时变量会是什么样子?如果你们可以直观地演示一下那将是惊人的,这就是我如何最好地把握这一点@Antoniossss@waterygatorade这与java的流畅性无关,因为数组不是java的发明。此外,从您所展示的片段判断,您已经知道此任务所需的构造语法。