我在列表中有false
,我想使用流,然后在其中循环每个元素。每个元素仍可以使用getSemiFileInfos()
或getItem()
。我将首先在getItem2()
中为item
和item2
创建一个映射,然后将itemMap
的每个循环作为映射存储到getSemiFileInfos()
列表中。>
我想要的是将其放在一行中。我想知道是否仍然可能。
items
答案 0 :(得分:1)
您可以将Stream
的每个元素映射到Map
到map()
中,然后收集到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());