Map<String, Long>,将value值转为list
时间: 2024-04-23 15:27:50 浏览: 90
要将Map<String, Long>中的value值转换为List<Long>,可以使用Map的values()方法获取所有的value值集合,然后将其转换为List。以下是修改后的示例代码:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
// 假设JavaBean包含一个名为value的整型属性
List<JavaBean> list = Arrays.asList(
new JavaBean(10),
new JavaBean(20),
new JavaBean(30),
new JavaBean(40),
new JavaBean(50),
new JavaBean(60)
);
// 数值范围分组并统计数量
Map<String, Long> groupedMap = list.stream()
.collect(Collectors.groupingBy(bean -> {
int value = bean.getValue();
if (value >= 0 && value <= 20) {
return "0-20";
} else if (value > 20 && value <= 40) {
return "21-40";
} else if (value > 40 && value <= 60) {
return "41-60";
} else {
return "Unknown";
}
}, Collectors.counting()));
// 将Map的value转换为List<Long>
List<Long> valuesList = new ArrayList<>(groupedMap.values());
// 输出结果
System.out.println("valuesList: " + valuesList);
}
static class JavaBean {
private int value;
public JavaBean(int value) {
this.value = value;
}
public int getValue() {
return value;
}
@Override
public String toString() {
return "JavaBean{" +
"value=" + value +
'}';
}
}
}
```
运行上述代码,将按照数值范围对JavaBean进行分组,并统计每个分组的数量。然后将Map的value值转换为List<Long>,并输出结果。
阅读全文