String[] stus = {"王二", "张三", "李四", "小王", "小李"};
Set<String> set = new HashSet<String>();
for (int i = 0; i < 3; i++) {
int index = new java.util.Random().nextInt(5);
String name = stus[index];
while (set.contains(name)) {
index = new java.util.Random().nextInt(5);
name = stus[index];
}
set.add(name);
System.out.println(name);
}
String[] strs = { "王二", "张三", "李四", "小王", "小李" };
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < strs.length; i++) {
list.add(strs[i]);
}
Random random = new Random();
for (int i = 0; i < strs.length; i++) {
if (list.size() == 0)
break;
int index = random.nextInt(list.size());
System.out.println(list.remove(index));
}
}
应该可以满足了吧.. 只是把数组转换成ArrayList那里, 有点生硬, 我短时间也没想到好的方法..
for{}{
int index =new java.util Random().nextInt(5);
Map<Integer, Integer> map = new HashMap<Integer, Integer>()
if(!map.containsKey(index)){
system.out.printIn(stus[idex]);
}
}
for (int i = 0; i < 20; i++) {
int index = new java.util.Random().nextInt(5);
String result = stus[index];
if (!search.contains(result)) {
System.out.println(result);
search.add(result);
}
}