gpt4 book ai didi

java - 尝试将类放入 HashMap 中,但它不起作用

转载 作者:行者123 更新时间:2023-12-01 23:25:17 25 4
gpt4 key购买 nike

所以我有这样的输入:

 [1]     name1 + type1 + value1
[X] nameX + typeX + valueX

现在我正在查看这样的输入:

 [2]     name1 + type2 + value2

所以 [2] 与 [1] 具有相同的名称,但它们的属性不同。

我将名称、类型、值放入这样的类中:

 class entity(){

String name;
String type;
int amount;
//constructor ... etc...
...
}

我想要做的是将实体放入 HashMap 中,键是名称,值是类实体。

像这样

  name1 ----> entity1
nameX -----> entityX

我遇到的问题是,当我尝试将 [2] 放入 HashMap 时,它与 [1] 具有相同的名称,因此它无法正确哈希([2] 覆盖 [1],因为它们具有相同的名称。

稍后当我搜索时,我需要通过名称访问 [1] 和 [2]。我如何将它输入到 map 中,这样它就不会覆盖它。

最佳答案

1 - 您需要修改您的类实体,如下所示:-

 class entity(){

String name;
ArrayList <String> type;
ArrayList <Integer> amount;
//constructor ... etc...
...
}

2 - 现在,当您要在 HashMap 中输入任何值时,首先检查该键在映射中是否可用。如果键在 map 中可用,请获取与该键关联的值,并在数组列表中输入新的类型和金额值。

if(hashmap.contains(nameX)){
entity obj = hashmap.get(nameX);
type.add(new_val);
amount.add(new_val);
hashmap.put(nameX,obj);
}
else{
entity obj = new entity();
type.add(new_val);
amount.add(new_val);
hashmap.put(nameX,obj);
}

注意:- 将类名称从实体更改为实体。其标准代码实践。

关于java - 尝试将类放入 HashMap 中,但它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58309437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com