0

我想在 java 中创建一个空地图,然后将默认值设置为 0。如果下面的代码正确,请告诉我。

实际上,我正在尝试将其转换为 Java 的 python 代码。为了便于理解,我在此处粘贴 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();

然后我不得不在钻石中提到字符串和日期。空地图怎么办?

这是我到目前为止编写的 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);
        }
    }
}

请澄清。

谢谢 !

4

1 回答 1

1

正如评论中所述,Java 没有像其他一些语言那样的默认映射。然而,apache commons-collections项目有一个DefaultedMap,当键不是地图的一部分时,它会返回一个默认值。如果您不想使用第三方库,那么您需要自行检查此键的值是否已经存在,以及何时不使用零值创建它。

于 2013-05-08T21:33:23.477 回答