Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将100个随机元素添加到具有重复项的空数组中?_Java_Arrays_Random_Elements - Fatal编程技术网

Java 如何将100个随机元素添加到具有重复项的空数组中?

Java 如何将100个随机元素添加到具有重复项的空数组中?,java,arrays,random,elements,Java,Arrays,Random,Elements,在这段代码中,我洗牌100个随机元素,而不是添加100个重复的随机元素,并返回10个唯一的键。我该怎么做 public static void main(String[] args) { ArrayList<Integer> uniqueKeys = new ArrayList<Integer>(); for (int i = 0; i < 101; i++) { uniqueKeys.add(new Integer(i));

在这段代码中,我洗牌100个随机元素,而不是添加100个重复的随机元素,并返回10个唯一的键。我该怎么做

public static void main(String[] args) {

    ArrayList<Integer> uniqueKeys = new ArrayList<Integer>();
    for (int i = 0; i < 101; i++) {
        uniqueKeys.add(new Integer(i));
    }
    Collections.shuffle(uniqueKeys);
    for (int i = 0; i < 10; i++) {
        System.out.println(uniqueKeys.get(i));
    }
}
publicstaticvoidmain(字符串[]args){
ArrayList uniqueKeys=新的ArrayList();
对于(int i=0;i<101;i++){
添加(新整数(i));
}
收藏。洗牌(单键);
对于(int i=0;i<10;i++){
System.out.println(uniqueKeys.get(i));
}
}

我建议使用Set和Random的组合。使用Set,您将消除重复项。使用Random,您将得到(伪)随机数

final int KEYS_COUNT = 100;
final int MAX_KEY_VALUE = 1000;

Set<Integer> setOfKeys = new HashSet<>();
Random random = new Random();

while (setOfKeys.size() <= KEYS_COUNT) {
    setOfKeys.add(random.nextInt(MAX_KEY_VALUE));
}
final int key_COUNT=100;
最终int最大键值=1000;
Set setOfKeys=new HashSet();
随机=新随机();

while(setOfKeys.size()听起来你应该使用
Random
来生成元素。看看你的for循环-你有101次迭代,而不是100次。使用iif如果你允许重复,为什么引用名为
uniqueKeys
?这是你的作业吗?使用
Random
来生成唯一的整数,然后使用
HashMap
…无论如何,如果你自己做一些研究并尝试一些代码实验可能会更好。尝试研究我提到的类。是的,这是家庭作业。Jarrod,我只是问如何添加带有重复项的随机整数,因为我计划自己将ArrayList改为TreeSet并过滤掉重复项。