日期:2014-05-20 浏览次数:20660 次
void swap(int[] a) { int[] newa = new int[a.length]; int j = 0; for (int i=a.length-1;i>=0 ;i-- ){ newa[j++] = a[i]; } System.out.print(Arrays.toString(newa)); }
------解决方案--------------------
楼主你好好看看arraycopy方法,自会明白,看看API文档
------解决方案--------------------
public static void main(String[] args) {
int[] oldArr = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
swap(oldArr);
}
static void swap(int[] a) {
int[] newa = new int[a.length];// new一个新数组。
for (int i = a.length - 1; i >= 0; i--) {
System.arraycopy(a, i, newa, a.length - i - 1, 1);// 将源数组从最后元素开始,一次复制给新数组。
}
System.out.print(Arrays.toString(newa));// 输出数组。
}
------解决方案--------------------
你是对arraycopy这个方法的参数还不太清楚
arraycopy(要copy的数组,copy这个数组的起始位置,新的数组,copy到这个新数组的什么位置,copy几个元素到新数组里)
------解决方案--------------------
public class Arrays { public static <T> T[] swap(T[] t, int len) { if (t == null || len <= 0) return null; T temp = null; for (int i = 0, j = len - 1; i <= j; i++, j--) { temp = t[i]; t[i] = t[j]; t[j] = temp; } return t; } public static void main(String[] args) { String[] a = new String[] { "a", "b", "c", "d" }; swap(a, a.length); for (String s : a) { System.out.println(s); } } }
------解决方案--------------------
给你来个精典的:
Integer[] oldArr={0,1,2,3,4,5,6,7,8,9};
List list=Arrays.asList(oldArr);
Collections.reverse(list);
System.out.println(list);