请各位大神看看下面的代码,
我想把生成的120个数组放到list当中
但是,后放入的替换了全面的所有数据
不明所以,望说明,谢谢。
package com.zhangxuan.platform.test;import java.util.ArrayList;
import java.util.List;public class T {
private static List<int[]> list = new ArrayList<int[]>();
public static void main(String[] args) {
// 测试数据
int[] a = {0, 1, 2, 3, 4};
int[] b = new int[a.length];
sort(a, b, a.length, 0);
for(int[] i : list) {
for(int it : i) {
System.out.print(it + " ");
}
System.out.println();
}
}public static void sort(int[] a, int[] b, int n, int c) { if(c == n) { /* for(int i : b) { System.out.print(i + " "); } System.out.println(); */ // 把b放到list当中,但是这里就把list的所有数据替换成b了. // 所以list全部是4 3 2 1 0 了 list.add(b); return; } else { for(int i = 0; i < n; i ++) { boolean f = false; for(int j = 0; j < c; j ++) { if(a[i] == b[j]) { f = true; break; } } if(!f) { b[c] = a[i]; sort(a, b, n, c + 1); } } } }
}