英文:
Collect values from HashMap into one array using streams api
问题
Sure, here's the translation:
我有一个包含字符串键和ArrayList
值的地图。我想使用流 API,将所有值中的数组作为一个数组返回。
Map<Integer, ArrayList<String>> map = new HashMap<>();
结果:一个包含所有值数组中的字符串的ArrayList<String>
,最好是唯一值。
英文:
I have a map, containing strings as a key and ArrayList
as values. I want to use stream api to get as a result all the Arrays from values as one array.
Map<Integer, ArrayList<String>> map = new HashMap<>();
Result: one ArrayList<String>
containing all the Strings from value arrays and preferably unique values.
答案1
得分: 4
这是您要的翻译内容:
您是否正在查看此内容:
List<String> distinctValues = map.values().stream() // Stream<ArrayList<String>>
.flatMap(List::stream) // Stream<String>
.distinct()
.collect(Collectors.toList());
如果您更喜欢将结果作为 ArrayList
,可以使用:
.collect(Collectors.toCollection(ArrayList::new));
英文:
Are you looking to this :
List<String> distinctValues = map.values().stream() // Stream<ArrayList<String>>
.flatMap(List::stream) // Stream<String>
.distinct()
.collect(Collectors.toList());
If you prefer ArrayList
as a result, then use :
.collect(Collectors.toCollection(ArrayList::new));
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论