如何使用流更新基于地图的列表值的属性?

问题描述 投票:0回答:1

我有清单和地图。我需要匹配地图中列表的值,并将列表值替换为地图值。 基本上我需要将

error_msg
中的
Reponses
替换为
errormapping
中存在的值。

private Map<String, String> errormapping;

private List<Reponses> reponse;

public class Reponses{
    private String id;
    private String error_msg;
}

reponse.stream().forEach(e->e.getError_msg())

有点卡在这里

java java-stream
1个回答
0
投票

使用按键从地图中获取值并设置值:

reponses.stream().forEach(r -> r.setError_msg(errorMapping.get(r.getError_msg())));

这没有考虑到地图中不存在该键的可能性(您的问题未指定,如果有可能出现这种情况)。

此外,为此使用流是一种矫枉过正,简单的循环就可以完成这项工作,并且可能更具可读性。

© www.soinside.com 2019 - 2024. All rights reserved.