Nih*_*tap 0 java hashmap java-stream
我有一张 类型的地图HashMap<String, List<Integer>>。
我想找到每个地图条目的最大值,然后找到这些最大值中的最小值。
我知道这可以使用几个 for 循环来完成。但想知道是否有另一种方法可以做到这一点(也许使用流?)
我要寻找的最终结果是一个整数。
例子:
HashMap<String, List<Integer>> values = new HashMap<>();
values.put("a", Arrays.asList(4, 8, 9, 10)); // max value is 10
values.put("b", Arrays.asList(20, 32, 1, 2)); // max value is 32
values.put("c", Arrays.asList(11, 50, 20, 6)); // max value is 50
// I need the min value out of the above maximums i.e. 10 (final answer)
Run Code Online (Sandbox Code Playgroud)
您可以使用Collections.min和Collections.max方法
HashMap<String, List<Integer>> myMap = new HashMap<>();
Integer min = Collections.min(myMap.values().stream().map(Collections::max).collect(Collectors.toList()));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1890 次 |
| 最近记录: |