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)
什么都没打印出来.
如果我在循环外使用它,循环中的代码工作,但因为我需要多个值,我使用循环,它不起作用.
更改
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是假的,因为i是0.因此条件为假,并且跳过循环.