先给出一个使用标准Java API实现的版本:
package demo;
import java.util.ArrayList;
import java.util.Collections;
/**
*
* 反转一个List,关键是使用Collections工具类
*
* @author Phil
*
*/
public class Demo {
public static void main(String[] args) {
ArrayList<Integer> lists = new ArrayList<Integer>();
// 初始化10个测试数据
for (int i = 0; i < 10; i++) {
lists.add(i);
}
// 打印测试数据
for (Integer n : lists) {
System.out.print(n + " ");
}
// 反转lists
Collections.reverse(lists);
// 换行打印
System.out.println();
// 打印测试数据
for (Integer n : lists) {
System.out.print(n + " ");
}
}
}
输出结果:
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
下面给出一个自己手写的:
public class Main {
public static void main(String[] args) {
int size = 10;
int[] data = new int[size];
for (int i = 0; i < size; i++) {
data[i] = i;
}
System.out.println("反转前:");
for (int n : data)
System.out.print(n + " ");
int i = 0;
int j = data.length - 1;
int temp;
while (i < j) {
temp = data[i];
data[i] = data[j];
data[j] = temp;
i = i + 1;
j = j - 1;
}
System.out.println("\n反转后:");
for (int n : data)
System.out.print(n + " ");
}
}
运行输出:
反转前:
0 1 2 3 4 5 6 7 8 9
反转后:
9 8 7 6 5 4 3 2 1 0