(采用HashMap实现) 程序运行时输 入如下内容: 李文,北京 李希,北京 张小小,河南 王文,河北 董信,北京 张坤,北京 万三,江西 戴天,河南 庞 大,湖北 彭克,浙江 最后屏幕输出如下 内
时间: 2024-11-03 21:12:33 浏览: 10
2011北京自考JAVA教程
在使用HashMap(哈希映射表)实现的情况下,你可以通过键值对的形式存储每个个体的信息,键通常是名字,值是对应的省份。以下是使用Java编写的一个简单示例,用于处理输入并最终按省份分类显示:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 创建一个HashMap来存储姓名和省份
Map<String, String> provinces = new HashMap<>();
// 输入人员信息
inputPeople(provinces);
// 按省份分组并打印结果
printProvinceGroups(provinces);
}
private static void inputPeople(Map<String, String> provinces) {
// 用户输入模拟
provinces.put("李文", "北京");
provinces.put("李希", "北京");
provinces.put("张小小", "河南");
provinces.put("王文", "河北");
provinces.put("董信", "北京");
provinces.put("张坤", "北京");
provinces.put("万三", "江西");
provinces.put("戴天", "河南");
provinces.put("庞 大", "湖北");
provinces.put("彭克", "浙江");
}
private static void printProvinceGroups(Map<String, String> provinces) {
// 遍历HashMap并按照省份分组
for (String province : provinces.values()) {
List<String> names = new ArrayList<>();
for (Map.Entry<String, String> entry : provinces.entrySet()) {
if (entry.getValue().equals(province)) {
names.add(entry.getKey());
}
}
System.out.println("省份:" + province + ", 人员有:");
for (String name : names) {
System.out.println(name);
}
System.out.println(); // 添加换行符
}
}
}
```
当你运行这个程序,它会输出每个人名及其所在的省份,每个省份下面列出了对应的所有人名。例如:
```
省份:北京, 人员有:
李文
李希
董信
张坤
省份:河南, 人员有:
张小小
戴天
省份:河北, 人员有:
王文
省份:江西, 人员有:
万三
省份:湖北, 人员有:
庞 大
省份:浙江, 人员有:
彭克
```
阅读全文