Java数组反向

时间:2015-10-27 18:46:56

标签: java arrays reverse

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

    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];
    }
}

所以这是我想要的东西^

3 个答案:

答案 0 :(得分:2)

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

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;
}

答案 1 :(得分:1)

如果您不想使用临时数组,则可以使用堆栈。

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();
}

答案 2 :(得分:1)

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

  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();
  }