产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
用一个ArrayList存储1到100
然后随机产生0到arraylist.size()之间的数字作为下标
然后从arraylist中remove掉刚产生的那个下标的数存到数组中,直到arraylist中的size为0即可,这样就不用去判断浪费大量时间,用set的话虽然表面上没做判断,实际上也是判断过的
public class Rand {
public static void main(String[] args) {
int[] fill = new int[100];
List<Integer> list =
new ArrayList<Integer>();
for(int i=1; i<=100; i++)
{
list.add(i);
}
Random random = new
Random();
for(int i=0; i< fill.length;
i++) {
fill[i] =
list.remove(random.nextInt(list.size()));
}
for(int i=0; i< fill.length;
i++) {
System.out.print(fill[i] + "
");
}
}
}
本文链接:http://www.jfox.info/chan-sheng-yi-ge-int-shu-zu-chang-du-wei-100-bing-xiang-qi-zhong-sui-ji-cha-ru-1-100-bing-qie-bu-neng-chong-fu,
转载请保留.
产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
原文:http://www.cnblogs.com/wuxiang/p/3541463.html