java 数值区间_java怎样将集合中的数值数据分区间统计个数:例如(0-1000)有几个人数据,1000-2000有几个数据...
时间: 2024-03-05 13:50:20 浏览: 14
你可以使用Java中的Map数据结构来实现这个功能。首先,你需要遍历集合中的所有数值数据,并根据它们所属的区间进行统计。具体的实现步骤如下:
1. 定义一个Map<Integer, Integer>对象,用于存储每个区间的数据个数。其中,Map的key表示区间的起始值,value表示该区间内数据的个数。
2. 遍历集合中的所有数据,对于每个数据,找到它所属的区间,并将该区间内数据的个数加1。
3. 打印每个区间及其对应的数据个数。
下面是一段示例代码:
```java
List<Integer> dataList = new ArrayList<Integer>(); // 假设这是你的数据集合
Map<Integer, Integer> countMap = new HashMap<Integer, Integer>(); // 用于存储区间数据个数的Map对象
int interval = 1000; // 区间大小
int start = 0; // 区间起始值
// 遍历数据集合,统计每个区间内的数据个数
for (int data : dataList) {
int index = data / interval; // 计算数据所属的区间索引
int key = index * interval; // 计算区间的起始值
if (data >= start + (index + 1) * interval) {
// 如果数据超出当前区间,更新区间起始值和索引
start += (index + 1) * interval;
index++;
key = index * interval;
}
Integer count = countMap.get(key);
count = (count == null) ? 1 : count + 1;
countMap.put(key, count);
}
// 打印每个区间的数据个数
for (int i = 0; i < start / interval + 1; i++) {
int key = i * interval;
int count = countMap.get(key);
System.out.println(key + "-" + (key + interval - 1) + ": " + count);
}
```
在上面的代码中,我们首先定义了一个List对象来存储数据集合,以及一个Map对象来存储区间数据个数。然后,我们遍历数据集合,并根据数据所属的区间来更新区间数据个数的Map对象。最后,我们打印出每个区间的数据个数。注意,这里假设所有数据都是非负整数。如果数据集合中包含负数,你需要根据具体情况来修改代码。