java面试题
1 /** 2 * 写一个函数,它的作用是接受一个整数(假设为length),返回一个数组,数组的长度为length, 3 * 数组中的内容为随机的0至(length-1)的值,并且不能重复。 4 * 5 * 比如length为5的话,数组可能是[1,0,3,2,4]。 6 * 7 * @author Administrator 8 * 9 */ 10 11 import java.util.ArrayList; 12 import java.util.List; 13 import java.util.Random; 14 15 public class RandomArray { 16 public static void main(String[] args) { 17 int[] a = randomArray(5); 18 for (int b : a) { 19 System.out.println(b); 20 } 21 } 22 23 public static int[] randomArray(int n) { 24 Random ran = new Random(); 25 int[] a = new int[n]; 26 List<Integer> values = new ArrayList<Integer>(); 27 int index = 0; 28 while (true) { 29 int temp = ran.nextInt(n); 30 if (!values.contains(temp)) { 31 values.add(temp); 32 a[index++] = temp; 33 } 34 if (index == n) 35 break; 36 } 37 return a; 38 } 39 }