这是我的第一个问题。 事情是......我想理解,如何在不使用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];
}
}
所以这是不我想要的东西^
答案 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();
}