我有一个映射,我正在遍历它,并使用for
循环修改映射的值。我想知道是否有一种方法可以使用Java8流来实现。
这是我的代码:
Map<String,MyObject> myMap = getResultMap();
for (Map.Entry<String, MyObject> entry : myMap.entrySet()) {
entry.getValue.setName(getName());
entry.getValue.setId(getId());
entry.getValue.setDept(getDept());
entry.getValue.isValid(isValid();
entry.getValue.setPipeLine(getPipeLine());
}
基本上,我想流化地图值,设置值,并将其作为新地图。
您可以通过流操作获得一个新的流
或一个新的映射
,但流
不能改变数据(但您可以创建一个lambda,可以执行任何您想要的操作)。例如,使用您的代码示例:
Map<String, MyObject> myMap = getResultMap();
Map<String, MyObject> newMap = myMap.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, entry ->
{
entry.getValue().setName(getName());
entry.getValue().setId(getId());
entry.getValue().setDept(getDept());
entry.getValue().setValid(isValid());
entry.getValue().setPipeLine(getPipeLine());
return entry.getValue();
}
));
但是不要更新流中的共享可变变量
!它会产生很多问题。
最好创建MyObject
类的新实例,而不是修改myMap
:
Map<String, MyObject> newMap = myMap.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, entry ->
{
MyObject myObject = new MyObject();
myObject.setName(getName());
myObject.setId(getId());
myObject.setDept(getDept());
myObject.setValid(isValid();
myObject.setPipeLine(getPipeLine());
return myObject;
}
));
单击地图信息选项卡,可以查看当前地图的信息。单击地图名称旁边的 笔状图标,可以修改当前地图的信息。
问题内容: 我有一个想要修改特定值的json,但是终端总是显示带有修改后值的json,但实际上并不会更改特定文件中的值。样本json: 我想更改文件本身中的address的值,但到目前为止,我一直无法更改。我尝试使用: 但这没用。有什么建议? 问题答案: AFAIK 不支持就地编辑,因此您必须先重定向到一个临时文件,然后再用它替换原始文件,或者使用moreutils包中的实用程序,如下所示: 还有
我正在尝试修改以下项目,因为有一个我想做的自定义:https://github.com/swagger2markup/swagger2markup 反过来,我想在以下项目中使用修改后的二进制文件:https://github.com/swagger2markup/swagger2markup-gradle-project-template 总的来说,我认为我需要做以下几个步骤: null 然后我在
问题内容: 我正在尝试读取HTML文件,并添加指向某些文本的链接: 例如:我想添加链接到“ Campaign0”文本。: 要添加的链接: 我需要一个Java程序来修改html,以在“ Campaign0 ” 上添加超链接。 我如何用Jsoup做到这一点? 我用JSoup尝试了这个: 这样对吗 ??它不起作用:( 简而言之 :是否有类似-> 在Java代码中使用JSoup或任何技术? 问题答案: 您
问题内容: 我有这个元素: 我要做的就是在我的网页上进行更改。 可能吗? 问题答案: 试试这个:
我试图阅读一个超文本标记语言文件,并添加一些文本的链接: 例如:我想添加“活动0”文本的链接: 要添加的链接: 我需要一个JAVA程序,修改html添加超链接超过“0”。 我如何使用Jsoup实现这一点? 我用JSoup试过这个: 这是正确的吗??它不起作用:( 简言之:有类似的吗-- 在JAVA代码中使用JSoup或任何技术??