是否可以仅迭代所提供的哈希映射条目的一半?

0 java iteration hashmap

我有一个Hashmap< String, String> p,我正在尝试用“-”替换键值的一半例如,假设我当前的哈希图具有以下值

"A", "100"
"B", "400"
"C", "600"
"D", "845"
Run Code Online (Sandbox Code Playgroud)

我想通过将值从提供的整数更改为“-”来以某种方式仅操作值键的一半(在本例中为前两个)。所以它看起来像这样:

    "A", "-"
    "B", "-"
    "C", "600"
    "D", "845"
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这样做,但没有成功。

for (String i : p.keySet()/2) {
  p.replace(i, '-')
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?如果是,您能解释一下如何吗?

xyz*_*xyz 6

另一个解决方案:

    p.entrySet()
        .stream()
        .limit(p.size()/2)
        .forEach(e-> e.setValue("-"));
Run Code Online (Sandbox Code Playgroud)