Java Map <string,string []>如何求和

时间:2019-01-12 20:20:34

标签: java java-8 java-stream

我有一个这样的映射Map<String,String[]>我想总结一下它的值,值是字符串表,我知道它们是数字。请告诉我如何使用流。我已经尝试过了:

Map<String, String[]> map = new HashMap<>();
int sum = map.values().stream().mapToInt(Integer::parseInt).sum();

1 个答案:

答案 0 :(得分:4)

在问题map.values()中返回Set中的String[],您应该

  

1)首先流Set<String[]>

     

2)然后将String[]转换为数组流,并将字符串转换为int

int sum = map.values()
             .stream()
             .flatMap(Arrays::stream)
             .mapToInt(Integer::intValue)
             .sum();