如何使用java8收集器构建HashMap<String, Set<String>>

问题描述 投票:0回答:1
我正在尝试学习java8,特别是用于构建集合的收集器。我有一种 pre-java8 方法来构建特定的 HashMap

。如下:

HashMap<String, Set<String>> setHashMap = new HashMap<>(); Set<String> set = Sets.newHashSet("1000", "1001"); setHashMap.put("Id01",set);
我尝试使用 java8 构建相同的结构,但没有成功,如下所示:

String[] IDS = {"1000", "1001"}; Sets.newHashSet("Id01", Arrays.stream(IDS).collect(toMap()));
但是,这甚至无法编译。如果有任何见解,我将不胜感激。谢谢

java-8 collectors
1个回答
0
投票
您好,您需要流式传输数组并收集到 Set,因为您需要

Map<String, Set<String>>

,以下代码片段应该有所帮助

String[] IDS = {"1000", "1001"}; Map<String, Set<String>> hm = Map.of("Id01", Arrays.stream(IDS).collect(Collectors.toSet()));
附注- 您的代码试图创建一组字符串和映射,但这是行不通的

© www.soinside.com 2019 - 2024. All rights reserved.