Java 如何将此数组向右移动

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

我需要将数组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];
      }
   }
/**将元素从索引..向后-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的发明。此外,从您所展示的片段判断,您已经知道此任务所需的构造语法。