我有一个这样的映射Map<String,String[]>
我想总结一下它的值,值是字符串表,我知道它们是数字。请告诉我如何使用流。我已经尝试过了:
Map<String, String[]> map = new HashMap<>();
int sum = map.values().stream().mapToInt(Integer::parseInt).sum();
答案 0 :(得分:4)
在问题map.values()
中返回Set
中的String[]
,您应该
1)首先流
Set<String[]>
2)然后将
String[]
转换为数组流,并将字符串转换为int
int sum = map.values()
.stream()
.flatMap(Arrays::stream)
.mapToInt(Integer::intValue)
.sum();