我在面试中被要求为Employee类创建一个HashMap
:
class Emp {
int id;
int age;
String name;
}
如何创建此类的HashMap
,哪个字段应该保留为关键字,哪些应该是值?
答案 0 :(得分:1)
地图的创建完全取决于对象的唯一属性,可以将其视为关键。此外,密钥应该是一种类型,其哈希码不会随着每个新对象的创建而改变(即不可变实现)(根据java文档)。
这里在代码中,ID字段可以被认为是密钥,雇员对象可以被视为值。但是根据用例要求,密钥也可以是不同的属性。
答案 1 :(得分:1)
您应该在互联网上进行一些关于哈希图的搜索,以熟悉这些概念。至于答案,我的建议是使用 id 字段作为您的密钥。您可以按如下方式创建它:
Map<Integer, Emp> employeeMap = new Hashmap<Integer, Emp>()
然后您可以将员工添加为
employeeMap.put(employee.id, employee)