我想在 java 中创建一个空 map ,然后将默认值设置为 0。如果下面的代码正确,请告诉我。
实际上,我正在尝试将 Python 代码转换为 Java。为了便于理解,我在这里粘贴 Python 代码
Java 代码: 1个 2个 3个 4个 5个 6个 7 8个 9 10 11
import random
howMany = random.randint(0,1000)
stats = {} // EMPTY DICTIONARY
for i in range(howMany):
value = random.randint(0,500)
stats.setdefault(value,0) // Setting the default value to 0 here
stats[value]+=1
for item in stats:
if stats[item] > 1:
print item
在 java 的情况下,如果我这样做:
Java Code:
Map<String, Date> s = Collections.emptyMap();
那我就不得不提菱形中的String和Date了。空 map 怎么办?
这是我到目前为止编写的 Java 代码:
import java.util.Random;
public class PythonToJava {
public static void main(String[] args) {
Random rm = new Random();
int i = rm.nextInt(1000);
System.out.println("Random Number Generated is: " + i);
for (int j = 0; j<i; j++){
int value = rm.nextInt(500);
System.out.println("The value of VALUE is " + value);
}
}
}
请澄清。
谢谢!
最佳答案
正如评论中所述,Java 没有像其他一些语言那样的默认映射。然而 apache commons-collections项目有一个 DefaultedMap当键不是 map 的一部分时返回默认值。如果您不想使用第三方库,那么您需要自行检查此键的值是否已经存在,以及何时不使用零值创建它。
关于java - 如何创建空 map 并设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16450372/