import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class TestRandomArray {
public static void main(String[] args) {
String [] ids=new String[]{"a","c","b","e","f","g","h","k","x","i","p","3","4","1","m","n"};
Random r=new Random();
String strarray[]=new String[10];
int index=0;
for(int i=0;i<10;i++)
{
//刚开始从数组中随机抽取一个
//而后将抽取的元素后面的元素向前推进到随机的位置[index位置]
//随着循环的继续,逐渐抛弃后面的元素
index=r.nextInt(ids.length-i);
strarray[i]=ids[index];
//元素向前推进到随机[index]的位置
for(int j=index;j<ids.length-i-1;j++){
ids[j]=ids[j+1];
}
}
Set<String> set=new HashSet<String>();
for (String string : strarray) {
System.out.print(string+" ");
set.add(string);
}
System.out.println();
System.out.println(set+","+set.size());
}
}
http://hehaibo.iteye.com/blog/1026958
本文介绍了一种使用Java实现的随机数组生成方法,并通过HashSet确保了数组元素的唯一性。该方法首先定义了一个字符串数组,然后利用Random类随机选择元素并将其放入新的数组中,同时移除已选元素避免重复选取。
4693

被折叠的 条评论
为什么被折叠?



