在Java中存储键值

时间:2018-08-02 19:24:44

标签: java

在某些情况下,我需要将大量数字存储为键和值。 我尝试过:

HashMap<String, double> map = new HashMap<String, double>();
map.put("Type1", 1267650600228229401496703205376);

我收到语法错误。有没有办法存储大量的关键和价值?

3 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

HashMap<String, Double> map1 = new HashMap<String, Double>();
map1.put("Type1", 1267650600228229401496703205376D);

HashMap<String, BigDecimal> map2 = new HashMap<String, BigDecimal>();
map2.put("Type1", new BigDecimal("1267650600228229401496703205376"));

答案 1 :(得分:0)

请阅读有关BigDecimal的信息 它可以处理较大的double值,并为您提供准确性所需的支持。 您也可以将BigInteger用于整数值。

有很多方法可以处理大值,还有compareTo()用于比较。

答案 2 :(得分:0)

如果您的数字不会像您的示例那样大,或者仅将其存储为字符串,请使用BitInteger。

HashMap<String, BitInteger> map = new HashMap<>();
map.put("Type1", BigInteger.valueOf(12676506));