java中如何统计每个班男生女生的数量
时间: 2024-01-22 12:18:46 浏览: 153
fgr.zip_K._fgr_一班有m个女生
4星 · 用户满意度95%
假设班级中有多个学生,每个学生有两个属性:性别和所在班级。
可以使用一个Map来存储每个班级中男生和女生的数量。具体实现方式如下:
```java
Map<String, Map<String, Integer>> classMap = new HashMap<>();
// 假设有多个学生,存储在List中
List<Student> students = ...
for (Student student : students) {
String className = student.getClassName();
String gender = student.getGender();
// 如果该班级还没有被记录在Map中,则新建一个空的Map
if (!classMap.containsKey(className)) {
classMap.put(className, new HashMap<>());
}
// 获取该班级的Map,然后更新男女生数量
Map<String, Integer> genderMap = classMap.get(className);
genderMap.put(gender, genderMap.getOrDefault(gender, 0) + 1);
}
// 输出每个班级中男生女生的数量
for (Map.Entry<String, Map<String, Integer>> entry : classMap.entrySet()) {
String className = entry.getKey();
Map<String, Integer> genderMap = entry.getValue();
int maleCount = genderMap.getOrDefault("male", 0);
int femaleCount = genderMap.getOrDefault("female", 0);
System.out.printf("%s: male:%d, female:%d\n", className, maleCount, femaleCount);
}
```
在上面的代码中,首先定义了一个Map classMap,它的key是班级名称,value是一个Map,存储了该班级中男生和女生的数量。
然后遍历所有学生,对于每个学生,获取他的班级名称和性别。如果该班级还没有被记录在Map中,则新建一个空的Map。然后获取该班级的Map,更新男女生数量。
最后输出每个班级中男生女生的数量。
阅读全文