在某些情况下,我需要将大量数字存储为键和值。 我尝试过:
HashMap<String, double> map = new HashMap<String, double>();
map.put("Type1", 1267650600228229401496703205376);
我收到语法错误。有没有办法存储大量的关键和价值?
答案 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));