将地图添加到列表中。循环列表时创建地图

时间:2019-06-27 08:24:28

标签: java

我在列表中有false,我想使用流,然后在其中循环每个元素。每个元素仍可以使用getSemiFileInfos()getItem()。我将首先在getItem2()中为itemitem2创建一个映射,然后将itemMap的每个循环作为映射存储到getSemiFileInfos()列表中。

我想要的是将其放在一行中。我想知道是否仍然可能。

items

1 个答案:

答案 0 :(得分:1)

您可以将Stream的每个元素映射到Mapmap()中,然后收集到List中:

List<Map<String, String>> items =
    file.getFileInfo()
        .getSemiFileInfos()
        .stream() 
        .map(m-> {
            Map<String, String> itemMap = new HashMap<String, String>();
            itemMap.put("item", m.getItem()); 
            itemMap.put("item2", m.getItem2().split(":",1)); // this doesn't produce a String
                                                             // value so perhaps you are
                                                             // missing some additional logic
                                                             // that would  extract one 
                                                             // String from the String[]
            return itemMap;
        })
        .collect(Collectors.toList());