java - 转换列表到地图> 列表值作为映射键,映射值带有空列表 java 8
问题描述
这可能是一个愚蠢的问题。我需要使用 Java 8将 a 转换List<String>
为 a 。所有列表值都应该是创建映射的键,而创建映射的 value 属性应该是一个空列表。Map<String, List<String>>
("20", "42", "55")
尽管以下代码完成了任务,但它将列表值保存为映射键和映射值的第一个索引。
如何使用 Java 8 功能解决这个问题?
List<String> list = Arrays.asList("20", "42", "55");
Map<String, List<String>> serviceMap =
list.stream().collect(Collectors.toMap(Function.identity(), Arrays::asList));
解决方案
作为值映射器传递Arrays::asList
意味着每个键的值将是List
包含该键作为其单个元素的 a,但您说您希望该值应该是空的List
。
如果该值应该是可修改的空值List
,则应创建一个新ArrayList
值作为 的值Map
:
List<String> list = Arrays.asList("20", "42", "55");
Map<String, List<String>> serviceMap =
list.stream()
.collect(Collectors.toMap(Function.identity(), a -> new ArrayList<>()));
推荐阅读
- python - 是否可以在 python 中不使用 pop() 来查找和替换密钥?
- api - Mule ESB 3.8 Http post form-data 与文件和文本
- modal-dialog - 在模态中加载组件并将数据传回
- django - 如果将多行发送到包含多个列的模板,我如何在 django 模板中提取数据?
- flutter - Flutter 自定义多选
- sendgrid - SendGrid:是否可以使用自定义取消订阅页面而不是使用 sendgrid
- javascript - 我可以在 iframe 中使用 window.location.replace 吗?
- php - 错误:magento 模板安装期间的 Dom.php 问题
- visual-studio - 如何使用 Visual Studio Server Explorer 在 MS Access 数据库中创建表?
- python - holoviews 重新排列 x 轴刻度