当前位置: 首页 > 知识库问答 >
问题:

是否可以使用Hashmap在Java中存储同一类的不同实例?

方苗宣
2023-03-14

我有一个注册程序,用户可以在餐厅预订餐桌。

因为我需要存储潜在的无限量的客户,所以我不能显式地创建Customer类的新实例,因为我需要能够在运行时添加它们。

我想过使用HashMap通过他们填写的注册表插入每个用户,但是,它不是保留每个客户的唯一值,而是用哈希图中的最新条目覆盖它们。

明确地说,键正在改变,它成功地添加了一个新的键,但是前一个键中的值被覆盖了

例子

类客户有 3 个设置器:设置 Id、设置 fname、设置 lname。

这些简单地从注册表中获取输入并将其分配给每个实例变量。

我用Customer cust=new Customer()创建了类的唯一实例。HashMap hm=新的HashMap()

用户填写表单,选择提交。此提交按钮调用所有资源库来分配信息。

然后我使用 hm.put(cust.getId(), cust)。

并且我能够正确地检索值与客户检索Cust=(客户)map.get(ID)字符串fname=retrieveCust.getName()

然而,这只是最新的一组值。所以,如果我有John doe和Jane doe,那么每个密钥只检索Jane。

有没有办法让它存储cust的每个不同“实例”,以及表单提交的值?

共有1个答案

黎震博
2023-03-14

我假设你有类似<code>Map的东西

如果您想为键设置不同的值,您应该考虑使用<code>Map

 类似资料:
  • 我想使用一个存储库从不同的表中选择实体。我使用Spring Data JPA,并有自己的查询方法: 第一个问题,是否可以通过某种方式传递表名?因为现在我正在对表名进行编码。 接下来我有两个子类EntityOne和EntityTwo。它们的字段(列)与BaseEntity相同,但它们必须在不同的表中。 我尝试过为BaseEntity使用@Mep dSuperclass注释。但它不起作用,我有一个例外

  • 我使用redis在我的Spring Boot应用程序中存储会话。我也在使用Spring会话库来实现这一点。我有两个不同的redis实例,即和。一旦有人进入我的应用程序(当然是在登录之后),我希望将他们的会话存储在和服务器中。请注意,这两个redis实例都是主实例,不在任何主从设置中。这是我到目前为止在我的Spring设置。 所以现在,一旦用户登录,他们的会话就存储在中(我在中添加了与美国redis

  • 我有一个例子是这样的 类需要的实例,因此我创建了一个属性,并在创建和时使用该属性 但在初始化对象时,我得到了,我想这是因为属性还没有连线。 如果我不使用bean而直接使用方法,那么一切工作都很好。 是因为我在同一个类中定义了吗?

  • 当我使用jersey开发一个rest api应用程序时,我遇到了一个问题,我需要为特定的业务逻辑部分实现一个websocketendpoint。 我提出这个问题是因为我认为jersey与javaee-api工件之间存在一些依赖关系冲突。

  • 我在JPA实体上拥有以下财产: 如果置信度设置为“0.000”,例如:setConfidence(新的BigDecimal(“0.000”));然后实体被持久化到数据库中,然后从数据库中取回,取回的值将失去其精度和规模,仅为0。 数据库模式是在部署Web应用程序时由JPA/Eclipselink创建的。 我的环境是EclipseLink 2.3.2。v20111125-r10461,Oracle

  • 问题内容: 是否必须在使用注释和hibernate配置文件之间做出严格选择,还是可以在同一项目中同时使用两种方式? 我们有一个使用Hibernate 3.2.5和POJO配置文件的大型项目。该项目使用的是Hibernate Factory,而不是基于JTA的工厂。 以这种方式配置了一百多个POJO,原始开发人员团队不愿意切换到注释。 同时,我们需要用更多的POJO扩展项目,这些POJO我们愿意使用