当我尝试使用Java创建一个非常大的布尔数组时,例如:
boolean[] isPrime1 = new boolean[600851475144];
Run Code Online (Sandbox Code Playgroud)
我可能会丢失精度错误?
太大了吗?
在java中,数组最多只能包含Integer.MAX_VALUE项,因为它使用整数作为数组的键.当我想使用long作为索引时,最好的对象是什么?
例如,如果我想使用主筛来计算低于50亿的所有素数,我就不能使用数组,因为5000000000太大而无法存储在整数中.