Paw*_*zuk 0 java java-8 java-stream
我有这样一个地图,Map<String,String[]>我想总结它的值,值是字符串表,我知道它们是数字。请告诉我如何使用流来做到这一点。我试过了 :
Map<String, String[]> map = new HashMap<>();
int sum = map.values().stream().mapToInt(Integer::parseInt).sum();
Run Code Online (Sandbox Code Playgroud)
在问题中map.values()返回Setof String[],你应该
1)首先流式传输
Set<String[]>2)然后转换
String[]为数组流,字符串转换为int
int sum = map.values()
.stream()
.flatMap(Arrays::stream)
.mapToInt(Integer::intValue)
.sum();
Run Code Online (Sandbox Code Playgroud)