Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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 从ArrayList HashMap获取多个随机值_Java_Random_Arraylist_Hashmap - Fatal编程技术网

Java 从ArrayList HashMap获取多个随机值

Java 从ArrayList HashMap获取多个随机值,java,random,arraylist,hashmap,Java,Random,Arraylist,Hashmap,我想从ArrayList中获取一些特定的随机数 final ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>(); for (int i = 0; i == 4; i++) { index = random.nextInt(menuItems.size()); HashMap<Strin

我想从ArrayList中获取一些特定的随机数

final ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();

for (int i = 0; i == 4; i++) {

        index = random.nextInt(menuItems.size());
        HashMap<String, String> getitem = menuItems.get(index);
        System.out.println(getitem.get(KEY_NAME));
    }
final ArrayList menuItems=new ArrayList();
对于(int i=0;i==4;i++){
index=random.nextInt(menuItems.size());
HashMap getitem=menuItems.get(索引);
System.out.println(getitem.get(KEY_NAME));
}
没有打印出来

若我在循环外使用循环中的代码,那个么它就可以工作,但因为我需要多个值,所以我使用循环,它就不工作了

变化

for (int i = 0; i == 4; i++) { // start with i beeing 0, execute while i is 4
                               // never true

初始化
在循环开始之前执行一次<代码>条件在循环的每次迭代之前检查,并且在每次迭代之后执行
更新


您的初始化是
inti=0(执行一次)。您的条件是
i==4
,这是错误的,因为
i
0
。因此,条件为false,循环被跳过。

for循环的结束条件被破坏:
for(int i=0;i==4;i++)
应该是
for(int i=0;i<4;i++)
(4次迭代)或
for(int i=0;我考虑过使用调试器或老式的“printf调试”?样式说明,但最好尽可能为接口编码:
final List menuItems=new ArrayList();
for (int i = 0; i < 4; i++) {  // start with i beeing 0, execute while i is
                               // smaller than 4, true 4 times
for (initialization; condition; update)