前几天,做了这个题目。发现实现起来有不同的路子。
1.是随便对int数组内的数进行调换。
2.是建立两个数组,一个是1-100,另一个从其中随机取值。这里可以设置一个end变量记录取值长度。
3.利用List中提供的Colections.shuffle(),但是要先转成List,这里需要注意asList只能取值,但是不能增加或删除.具体可以百度.
1.
public class RandomArr { public static void main(String[] args) { int [] arr =
new int[100]; for(int i=0 ;i<100 ;i++) { arr[i] = i+1; } for(int i = 0 ;i<100
;i++) { int num = new Random().nextInt(100); int temp = arr[num]; arr[num] =
arr[i]; arr[i] = temp; } } }
2.
public class RandomArr { public static void main(String[] args) { int []
oldArr = new int[100]; int [] newArr = new int[100]; for(int i = 0 ;i<100 ;i++)
{ oldArr[i] = i+1; } int end = 100; for(int i = 0;i<100;i++) { int num = new
Random().nextInt(end); newArr[i] = oldArr[num]; oldArr[num] = oldArr[end-1];
end--; System.out.println("num "+num+" new "+newArr[i]); } } }
3.
String [] strArr = {"1","2","3","4","5"}; List<String> asList =
Arrays.asList(strArr); //让List 无序 //asList 其实是一种适配器模式,它内部其实还是数组
Collections.shuffle(asList); for (String str : strArr) {
System.out.println(str); }
技术
今日推荐