Java 数组反转

Java Array Reverse

这是我的第一个问题。 所以问题是......我想了解,如何在不使用 Array.java.utils 和临时数组的情况下反转包含对象的数组。

    public void reverse() {

    Ball [] ballsTemp = new Ball[balls.length];
    for (int i = 0; i < balls.length / 2; i++) {
        ballstemp[i] = balls[i];
        balls[i] = balls[balls.length -1 - i];
        balls[balls.length -1 - i] = ballstemp[i];
    }
}

所以这不是我想要的^

使用临时变量而不是临时数组。

for (int i = 0; i < balls.length / 2; i++) {
    Object temp = balls[i];
    balls[i] = balls[balls.length -1 - i];
    balls[balls.length -1 - i] = temp;
}

如果您不想使用临时数组,可以使用 Stack。

Stack ballsTemp = new Stack();
for (int i=0; i<balls.length; i++) {
    ballsTemp.push(balls[i]);
}
for (int i=0; i<balls.length; i++) {
    balls[i] = ballsTemp.pop();
}

改为使用堆栈,这是一个非常简单的示例:

  Integer[] intArray = new Integer[5];
  intArray[0] = 3;
  intArray[1] = 6;
  intArray[2] = 9;
  intArray[3] = 12;
  intArray[4] = 15;

  Stack<Integer> intStack = new Stack<Integer>();
  for(int i = 0; i < intArray.length; i++) {
      intStack.push(intArray[i]);
  }

  for(int i = 0; i < intArray.length; i++) {
      intArray[i] = intStack.pop();
  }