随机15个不重复数字的算法
宋玮-深圳 2007-09-12 09:50:46 List<xx> candidate = abc.getxxlist();
if (candidate != null && candidate.size() >= 15) {
//取15个随机各不相同的数字
Set<Integer> randomId = new HashSet<Integer>(15);
Random r = new Random();
int max = candidate.size() > 100 ? 100 : candidate.size();
while (randomId.size() < 15) {
randomId.add(r.nextInt(max));
}
List<xx> winner = new ArrayList<xx>(15); //填充15个对象.
for (Iterator<Integer> it = randomId.iterator(); it.hasNext();) {
winner.add(candidate.get(it.next()));
}