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();
}
这是我的第一个问题。 所以问题是......我想了解,如何在不使用 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();
}