下面的代码随机生成10组 每组10位的一个Arraylist 但是生成的结果是每组内的数字是随机的 但是组与组之间相同,应该是时间种子都相同的缘故吧?请问怎么样才能让10组都不相同呢?如果不用加delay的方法?
package Algorithm;
import java.util.*;
public class radixSort {
private ArrayList<int []> list=new ArrayList<int []>();;
radixSort(int r,int c){
Random rand=new Random(System.currentTimeMillis());
int [] row=new int [c];
for(int j=0;j<r;j++){
for(int i=0;i<row.length;i++)
row[i]=rand.nextInt(10);
list.add(row);
}
}
/**
* @param args
*/
public static void main(String[] args) {
radixSort sort=new radixSort(10,10);
for(int [] x:sort.list){
for(int y:x)
System.out.print(y);
System.out.println();
} }}
package Algorithm;
import java.util.*;
public class radixSort {
private ArrayList<int []> list=new ArrayList<int []>();;
radixSort(int r,int c){
Random rand=new Random(System.currentTimeMillis());
int [] row=new int [c];
for(int j=0;j<r;j++){
for(int i=0;i<row.length;i++)
row[i]=rand.nextInt(10);
list.add(row);
}
}
/**
* @param args
*/
public static void main(String[] args) {
radixSort sort=new radixSort(10,10);
for(int [] x:sort.list){
for(int y:x)
System.out.print(y);
System.out.println();
} }}
你把nextInt(10)括号中的10去掉试试看
import java.util.*;public class radixSort {
private ArrayList<int[]> list = new ArrayList<int[]>();; radixSort(int r, int c) {
Random rand = new Random(System.currentTimeMillis());
int[] row = new int[c];
for (int j = 0; j < r; j++) {
row = new int[c];//这儿加上这句就行了
for (int i = 0; i < row.length; i++)
row[i] = rand.nextInt(10);
list.add(row);
}
} /**
* @param args
*/
public static void main(String[] args) {
radixSort sort = new radixSort(10, 10);
for (int[] x : sort.list) {
for (int y : x)
System.out.print(y);
System.out.println();
} }}