By Lee - Last updated: 星期日, 六月 9, 2013

产生一个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] + ” “); } } }