概述:
将一个List<Entity>转成Map<String,List<Entity>>
import com.google.common.collect.Lists;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
Map<String, List<Entity>> dataMap = dataList.stream().collect(
Collectors.toMap(x -> String.format("%s:%s", x.getId(), x.getName()),
obj -> Lists.newArrayList(obj),
(List<Entity> newValueList, List<Entity> oldValueList) ->
{
oldValueList.addAll(newValueList);
return oldValueList;
}));
将一个List<Entity>转成Map<String,List<String>>
import com.google.common.collect.Lists;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
Map<String, List<Entity>> dataMap = dataList.stream().collect(
Collectors.toMap(x -> x.getId(), obj -> Lists.newArrayList(obj.getAttr()),
(List<String> newValueList, List<String> oldValueList) ->
{
oldValueList.addAll(newValueList);
return oldValueList;
}));

本文介绍如何使用Java Stream流将List转换为Map,其中Key由多个字段拼接而成,Value则为List。内容涵盖了具体的转换方法和示例代码。
2583

被折叠的 条评论
为什么被折叠?



