gpt4 book ai didi

java - 计算 Hashmap 中的重复值

转载 作者:行者123 更新时间:2023-11-30 08:18:45 26 4
gpt4 key购买 nike

我有一个 HashMap ,如下所示:

HashMap<String, ArrayList<String>> varX = new HashMap<String, ArrayList<String>>();

而且我一辈子都弄不明白如何计算重复值的数量。例如,如果 put("001", "DM");put("010", "DM"); 一样,如何计算 Hashmap 的 ArrayList 部分是否有两个值。

例如,输出看起来像这样:

DM:2 因为我将两个 DM 值“放入” HashMap 中。

最佳答案

你有一个映射 String 的 HashMap至 ArrayList<String> .

正在做 put("001", "DM")正如 @Sotirios Delimanolis 在评论中向您指出的那样,在这张 map 上将不起作用。

您会收到如下所示的错误:

The method put(String, ArrayList<String>) in the type HashMap<String,ArrayList<String>> is not applicable for the arguments (String, String)

根据您的示例行为,您需要 HashMap map StringString (即 put("001", "DM");

现在,假设你有:

HashMap<String, String> varX = new HashMap<String, String>();

并且您想计算有多少个键映射到相同的值,下面是您可以如何做到这一点:

varX.put("001", "DM");
varX.put("010", "DM");

// ...

int counter = 0;
String countingFor = "DM";
for(String key : varX.keySet()) { // iterate through all the keys in this HashMap
if(varX.get(key).equals(countingFor)) { // if a key maps to the string you need, increment the counter
counter++;
}
}
System.out.println(countingFor + ":" + counter); // would print out "DM:2"

关于java - 计算 Hashmap 中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27254302/

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