从ArrayList HashMap中获取多个随机值

kor*_*.es 0 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<String, String> getitem = menuItems.get(index);
        System.out.println(getitem.get(KEY_NAME));
    }
Run Code Online (Sandbox Code Playgroud)

什么都没打印出来.

如果我在循环外使用它,循环中的代码工作,但因为我需要多个值,我使用循环,它不起作用.

jlo*_*rdo 5

更改

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

for (int i = 0; i < 4; i++) {  // start with i beeing 0, execute while i is
                               // smaller than 4, true 4 times
Run Code Online (Sandbox Code Playgroud)

说明:

for循环具有以下结构:

for (initialization; condition; update)
Run Code Online (Sandbox Code Playgroud)

initialization在循环开始之前执行一次.condition在循环的每次迭代之前检查并在每次迭代update之后执行.

你的初始化是int i = 0;(执行一次).你的病情i == 4是假的,因为i0.因此条件为假,并且跳过循环.