gpt4 book ai didi

java - 在java hashMap中添加键值对

转载 作者:行者123 更新时间:2023-11-30 03:40:59 25 4
gpt4 key购买 nike

我有一张映射成本与位置的 map :

Map<Vector<Double>,Double> positionCost=new HashMap<Vector<Double>,Double>();

位置是 double 类型的 vector 。

我将每个职位的成本计算为:

positionCost.put(position, newcost);

现在我有一个 vector ,用于保存所有位置产生的所有成本cost.add(newcost);。但有一个问题 - HashMap 的大小不等于成本 vector 的大小。

System.out.println("no of particles"+" "+cost.size()+positionCost.size());

我不明白为什么。

最佳答案

positionCost 的大小Map不会与成本的大小相同Vector如果您添加相同的 position多次键入Map 。在这种情况下,与该键关联的后一个值将覆盖与该键关联的前一个值,并且 Map 的大小将保持不变。

您应该在添加到 map 之前添加一个条件:

if (!positionCost.containsKey(position)) {
positionCost.put(position, newcost);
} else {
// the key already exists in the map. It might be a bug, or it might be
// a valid situation that you have to decide how to handle
}

关于java - 在java hashMap中添加键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26826014/

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