gpt4 book ai didi

java - 流式传输 map 并在 Java 8 中对其进行修改

转载 作者:行者123 更新时间:2023-11-29 10:11:56 25 4
gpt4 key购买 nike

我知道,一旦我们从集合中创建了流,我们就不应在使用流时修改集合,但是不确定以下方法是否适用于我修改 map 内的条目而不是从中添加或删除任何内容的地方。此外,这是始终流式传输 map 并使用它的正确方法吗?

creepyCategoryStatuses.entrySet().stream().forEach(entry -> {
String creepyBlockResponse = (String) getBlockResponse(entry.getKey());
if (creepyBlockResponse.equalsIgnoreCase("block")){
entry.setValue(true);
//OR creepyCategoryStatuses(entry.getKey(), true);
}
});

最佳答案

这种修改没有问题,因为设置条目的值不是结构修改。但是,值得注意的是,Java 8 的功能比 Stream API 或 forEach 方法还多:

creepyCategoryStatuses.replaceAll((key,value)->
((String)getBlockResponse(key)).equalsIgnoreCase("block")||value
);

工作更容易。请注意,如果条件评估为 false||value 将保留旧值,如您的原始代码中所示。

关于java - 流式传输 map 并在 Java 8 中对其进行修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30460595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com