在Map中减少For循环

-1 java map

这是我的代码:

package vvv;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class test {

public static void main(String args[]){
    Map<Integer, String> map = new HashMap<Integer, String>();
    map.put(1, "demo");
    map.put(20, "fdemo");
    map.put(60, "gdemo");
    map.put(500, "udemo");
    map.put(8000, "odemo");
    // etc
    int b = 7999;
    for(int i =1; i<=8000; i++)
    {
        if(i == b)
            System.out.println(map.get(b));
    }

}

}
Run Code Online (Sandbox Code Playgroud)

我不想仅仅为了从地图中找到结果而使用大的"for循环",此外,我无法更改地图中的键(例如,我无法将500更改为4).

我该怎么做才能减少循环条件?

Era*_*ran 5

这将迭代Map中的所有键:

for (Integer key : map.keySet()) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是,我没有在循环中看到这一点,因为您只为特定键(7999)执行某些操作,因此您的循环可以简化为:

System.out.println(map.get(b));
Run Code Online (Sandbox Code Playgroud)

更改密钥不是您可以使用单个方法执行的操作.您必须先删除旧密钥,然后使用相同的值插入新密钥.

if (map.containsKey(500))
    map.put(4,map.remove(500));
Run Code Online (Sandbox Code Playgroud)