代码:
package haxi;
import java.util.HashMap;
import java.util.Scanner;
public class dodo {
public static void main(String[] args)
{
//建立电话本哈希表
HashMap<String, String> phoneBook = new HashMap<String, String>();
Scanner scanner = new Scanner(System.in);
// 添加联系人
phoneBook.put("张三", "13800000001");
phoneBook.put("李四", "13800000002");
phoneBook.put("王五", "13800000003");
phoneBook.put("赵六", "13800000004");
// 遍历输出电话号码簿,KeySet方法和Get方法
System.out.println("电话号码簿内容:");
//为什么不用get方法:用get方法如果没有对应得键会返回Null,keySet则不存在这个问题
//keySet():返回一个包含所有键的 Set 视图。
//get(Object key):根据给定的键返回对应的值。如果 Map 中没有对应的键,则返回 null。
//同时phoneBook这里是以键值对的形式存储的,不可以String name : phoneBook循环
for (String name : phoneBook.keySet())
{
String phoneNumber = phoneBook.get(name);
System.out.println(name + ": " + phoneNumber);
}
// 删除一个联系人,remove方法
System.out.print("请输入要删除的联系人的姓名:");
String nameDelete = scanner.nextLine();
phoneBook.remove(nameDelete);
// 查询一个联系人
System.out.print("请输入要查询的联系人的姓名:");
String nameSearch = scanner.nextLine();
String phoneNumber = phoneBook.get(nameSearch);
if (phoneNumber != null)//这里因为get输入得键值如果不存在返回NULL
{
System.out.println(nameSearch + " 的电话号码为:" + phoneNumber);
}
else
{
System.out.println("未找到 " + nameSearch + " 的电话号码");
}
}
}