与えられたListのN個の乱数を返す
1499 ワード
import java.util.*;
public class RandomNum {
public static void main(String[] args) {
/*HashSet ; LinkedHashSet */
HashSet<String> list = new HashSet<String>();
list.add("Apple");
list.add("Boy");
list.add("Cat");
list.add("Dog");
list.add("Elephant");
list.add("Dog");
list.add("Elephant");
System.out.println(list.toString());
System.out.println(getRandomNum(new ArrayList(list),3));
}
/**
*
* @param list
* @param selected
* @return
*/
public static List<String> getRandomNum(List<String> list, int selected) {
List<String> reList = new ArrayList<String>();
Random random = new Random();
// ,
if (list.size() >= selected) {
for (int i = 0; i < selected; i++) {
// 0-list.size()-1;
int target = random.nextInt(list.size());
reList.add(list.get(target));
list.remove(target);
}
} else {
selected = list.size();
for (int i = 0; i < selected; i++) {
// 0-list.size()-1;
int target = random.nextInt(list.size());
reList.add(list.get(target));
list.remove(target);
}
}
return reList;
}
}