3 回答

TA贡献1876条经验 获得超6个赞
HashMap只需要两个参数:key和value
https://docs.oracle.com/javase/8/docs/api/index.html?java/util/HashMap.html
本key应该是一个标识符是唯一的目标。在您的情况下,您正在使用id. 如果这是您的数据库表(或任何其他唯一数字)上的主键,则完全正确。
其他字段需要一起包装成一个对象(或者单独存储在 HashMap 中,每个字段都有自己的唯一 id;根据您的问题,这看起来不像您在做什么)。
你应该做这样的事情:
final Customer customerObject = new Customer(CName, Surname, Number, Cell, Buiilding, Street, suburb, City, postal);
hashmap.put(id, customerObject);
创建自定义Customer类及其所有字段留给读者作为练习。

TA贡献1886条经验 获得超2个赞
如果查看接口put
方法的源代码,Map
您会发现只能找到:
put(K key, V value)
这正是 aMap
应该如何工作。您将一个键映射到一个值,这样您就可以快速访问它而不用遍历整个映射。因此,在您的情况下,我建议您将所有信息存储在一个 serperate 对象中,Customer
并将其映射到客户的相关 id。
如果您需要有效地查询客户数据(同时不使用 id),请考虑使用可以为您完成工作的数据库。

TA贡献1906条经验 获得超10个赞
Put 方法是Map<K, V>.put(K key, V value)
签名的。所以你不能只是添加值。首先弄清楚密钥应该是什么,然后使用 put 方法。您可以通过调用Map.get(Object key)
方法使用键检索值。
添加回答
举报