jdk8流,如果metricName对象为空,则根据metricAliaseName来进行分组,将list转变为map,否则根据metricName来进行分组,将List转变为map
时间: 2024-02-18 13:00:04 浏览: 53
在Java 8中将List转换为Map对象方法
可以使用Java 8中Stream API的groupingBy()方法来实现根据metricName或metricAliaseName分组,然后将结果转换为Map。具体实现如下:
```
Map<String, List<Metric>> metricMap = metricList.stream()
.collect(Collectors.groupingBy(metric -> metric.getMetricName() != null ? metric.getMetricName() : metric.getMetricAliaseName()));
```
上述代码中,我们使用三目运算符来判断Metric对象的metricName是否为空,如果为空则使用metricAliaseName来分组,否则使用metricName来分组。最终得到一个Map,其中key为metricName或metricAliaseName,value为该key对应的Metric对象列表。
阅读全文