You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现让用户输入用户名作为Hashtable键并返回对应Employee对象值

解决Hashtable键存在性校验与取值问题

嘿,这事儿其实超简单的!Hashtable本身就给你准备好了判断键是否存在的方法,完全不用你自己手动写比较逻辑~

核心方法:containsKey()

Hashtable的containsKey(Object key)方法就是专门干这个的:你把用户输入的用户名传进去,它会自动帮你判断这个用户名是不是表中的某个键。如果存在就返回true,不存在就返回false。

而且对于String类型的键,它会自动调用String的equals()方法做内容比较(不是用==比较内存地址),所以只要输入的用户名和表中键的内容一致,就能匹配上,完美符合你的需求。

完整代码示例

假设你已经用Scanner或者其他方式获取了用户输入的用户名,代码可以这么写:

// 获取用户输入的用户名(这里替换成你的输入逻辑,比如用Scanner)
Scanner scanner = new Scanner(System.in);
System.out.print("请输入用户名:");
String inputUsername = scanner.nextLine();

// 校验用户名是否存在,并获取对应的Employee对象
if (theTable.containsKey(inputUsername)) {
    Employee targetEmployee = theTable.get(inputUsername);
    // 这里可以对获取到的Employee做任何操作,比如打印信息
    System.out.println("找到员工:" + targetEmployee.getEmployeeId() + " - " + targetEmployee.getName());
} else {
    System.out.println("抱歉,输入的用户名不存在!");
}

小补充

顺便提一句,Hashtable是比较老旧的集合类了,如果你的项目是新开发的,不需要强制线程安全的话,更推荐用HashMap;如果需要线程安全,ConcurrentHashMap的性能会比Hashtable更好~不过不管用哪个,containsKey()和get()的用法都是一样的哦!

内容的提问来源于stack exchange,提问作者user5463745

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:47:20