Java 8 Java8-使用流在列表内循环映射

Java 8 Java8-使用流在列表内循环映射,java-8,java-stream,Java 8,Java Stream,我有一个列表和映射,其中我需要首先迭代列表,在循环中我需要访问映射以形成字符串消息。我已经用Java7编写了同样的代码,它工作得很好。有人能帮我在Java8流媒体中转换这个吗 final Map<String, String> destTabMap = ... final List<String> destTabs = mappingList.get(destTabName); for (int j=0; j <

我有一个列表和映射,其中我需要首先迭代列表,在循环中我需要访问映射以形成字符串消息。我已经用Java7编写了同样的代码,它工作得很好。有人能帮我在Java8流媒体中转换这个吗

        final Map<String, String> destTabMap = ... 
        final List<String> destTabs = mappingList.get(destTabName);

        for (int j=0; j < destTabs.size(); j++) {
            String destName = destTabs.get(j);

            final String fieldValue = destTabMap.get(destName);

            if(fieldValue==null)
                continue;


           message.append(destName+"  ");
           message.append(":");
           message.append("  "+fieldValue);
           message.append("\n");
           System.out.println(destName+"  : "+fieldValue);
        }
final Map destTabMap=。。。
最终列表desttab=mappingList.get(desttab名称);
对于(int j=0;j
你可以这样做

String resultStr = destTabs.stream()
    .filter(s -> destTabMap.get(s) != null)
    .map(s -> s + "  :  " + destTabMap.get(s))
    .collect(Collectors.joining("\n"));

使用可以使映射更干净。考虑用“代码>过滤掉缺少的键。过滤器(DestabtMa::CulsSKEY)< /C> >代码< >映射列表< /代码>定义?