gpt4 book ai didi

java - map 中的 containsValue 如何工作

转载 作者:行者123 更新时间:2023-12-01 18:54:57 24 4
gpt4 key购买 nike

java中的containsValue是如何工作的?它是否将给定对象与 map 中已有的值进行比较?如果是这样,为什么这不起作用?

我有以下类:class Node{
整数n;
整数重量;
字符串 v;
}

并使用此映射:Map map = new HashMap();

这段代码没有按预期工作: `

n = Integer.parseInt(st.nextToken());
wt = Integer.parseInt(st.nextToken());
depth = Integer.parseInt(st.nextToken());
set = "";
while(st.hasMoreTokens())
set = set+st.nextToken()+" ";
Node nd = new Node();
nd.n = n;
nd.wt = wt;
nd.v = set;
if(!map.containsValue((Object)nd)){
map.put(key,nd);
key = key+1;
}`

映射中仍然存在重复值。

最佳答案

如果您使用 HashMap,请务必实现 hashCodeequals,否则每个新对象都是一个新的不同对象,无论它的值是什么.

关于java - map 中的 containsValue 如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14332864/

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