Java集合种的数字处于不同区间的次数
在日常的编程工作中,我们经常需要对一组数字进行分类和统计。例如,我们可能需要统计一组数字中出现在不同区间的次数,以便更好地了解数据的分布情况。在Java中,我们可以使用集合来存储这组数字,并利用Map来统计不同区间的次数。本文将介绍如何使用Java集合和Map来实现这一功能。
1. 创建数字集合
首先,我们需要创建一个包含一组数字的集合。我们可以使用ArrayList来存储这组数字。下面是一个简单的示例代码:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);
numbers.add(50);
}
}
在这个示例中,我们创建了一个ArrayList对象,并向其中添加了一组数字。
2. 统计不同区间的次数
接下来,我们需要创建一个Map来统计不同区间的次数。我们可以使用TreeMap来实现这一功能。下面是一个示例代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);
numbers.add(50);
Map<String, Integer> countMap = new TreeMap<>();
countMap.put("0-10", 0);
countMap.put("11-20", 0);
countMap.put("21-30", 0);
countMap.put("31-40", 0);
countMap.put("41-50", 0);
for (int number : numbers) {
if (number >= 0 && number <= 10) {
countMap.put("0-10", countMap.get("0-10") + 1);
} else if (number >= 11 && number <= 20) {
countMap.put("11-20", countMap.get("11-20") + 1);
} else if (number >= 21 && number <= 30) {
countMap.put("21-30", countMap.get("21-30") + 1);
} else if (number >= 31 && number <= 40) {
countMap.put("31-40", countMap.get("31-40") + 1);
} else if (number >= 41 && number <= 50) {
countMap.put("41-50", countMap.get("41-50") + 1);
}
}
// 输出统计结果
for (Map.Entry<String, Integer> entry : countMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
在这个示例中,我们创建了一个TreeMap对象来存储不同区间的次数,并遍历集合中的数字进行统计。最后,我们输出了统计结果。
3. 流程图
下面是一个流程图,展示了统计不同区间次数的整个流程:
flowchart TD
A(开始) --> B(创建数字集合)
B --> C(创建Map)
C --> D(遍历集合)
D --> E(判断区间并统计次数)
E --> D
D --> F(输出统计结果)
F --> G(结束)
4. 关系图
下面是一个关系图,展示了数字集合和Map之间的关系:
erDiagram
List ||--o|> ArrayList : 包含
Map ||--o|> TreeMap : 包含
通过以上的步骤,我们成功地使用Java集合和Map来统计一组数字中处于不同区间的次数。这种方法可以帮助我们更好地了解数据的分布情况,为后续的数据处理和分析提供便利。希望本文对您有所帮助!