产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复

产生一个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, 转载请保留.

posted @ 2014-02-09 15:03  孤独青鸟  阅读(610)  评论(0编辑  收藏  举报