把list对象 里面有值kpi2为在线用户数,求出kpi2最大值,转成map以kpi1作为key去重的java代码
时间: 2024-03-28 11:13:54 浏览: 10
假设list对象中的元素为Map类型,其中包含了kpi1和kpi2两个键值对,可以使用以下Java代码实现:
```java
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
// 假设list中已经添加了多个元素
// 定义一个变量来存储最大值
int maxKpi2 = 0;
for (Map<String, Object> map : list) {
int kpi2 = Integer.parseInt(map.get("kpi2").toString());
if (kpi2 > maxKpi2) {
maxKpi2 = kpi2;
}
}
// 定义一个Map来存储kpi1和kpi2
Map<String, Integer> resultMap = new HashMap<String, Integer>();
for (Map<String, Object> map : list) {
int kpi2 = Integer.parseInt(map.get("kpi2").toString());
if (kpi2 == maxKpi2) {
String kpi1 = map.get("kpi1").toString();
resultMap.put(kpi1, kpi2);
}
}
System.out.println(resultMap);
```
以上代码首先遍历list对象,找到kpi2的最大值。然后再次遍历list对象,将kpi2等于最大值的元素的kpi1和kpi2加入到Map中,以kpi1为键去重。最后输出Map对象即可。