转换地图 在Java8中列出[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转换地图 在Java8中列出[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我有API返回需要转换为DTO的Map<String,String>
。
SubjectIdAndNameDTO (id, name constructor args)
id
name
使用传统for循环和Map.EnterSet的当前实现。我如何使用Java8的功能来简化以下代码。
Map<String, String> map = getSubjectIdAndNameMap();
// How can this code can be improved by using Java8 Stream and method references
List<SubjectIdAndNameDTO> subIdNameDTOList = new ArrayList<>();
for (Entry<String, String> keyset : map.entrySet()) {
SubjectIdAndNameDTO subjectIdNameDTO =
new SubjectIdAndNameDTO(keyset.getKey(), keyset.getValue());
subIdNameDTOList.add(subjectIdNameDTO);
}
答案
试试这个
map.entrySet()
.stream()
.map(m->new SubjectIdAndNameDTO(m.getKey(), m.getValue()))
.collect(Collectors.toList());
或者@Eugene建议使用
...collect(Collectors.toCollection(ArrayList::new));
也访问this答案。
以上是关于转换地图 在Java8中列出[重复]的主要内容,如果未能解决你的问题,请参考以下文章