Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用索引大于整数\最大\值的数组或数组列表?_Java_Arrays_Arraylist - Fatal编程技术网

Java 如何使用索引大于整数\最大\值的数组或数组列表?

Java 如何使用索引大于整数\最大\值的数组或数组列表?,java,arrays,arraylist,Java,Arrays,Arraylist,我想要一个大的ArrayList,因此它的索引将超出int,我如何或如何使用它? 我已经检查过向量是否有同样的问题,有什么想法吗?@azurefrog没有,不是这样!其中一个问题没有得到精确的解决,假设一个引用长度为4字节,那么包含1100万个引用的ArrayList应该大约为42MB。我在google上看到过这个,如果你有一个40亿条目的ArrayList,那么每个引用和每个引用的对象(即使是一个很小的对象)都是24字节,所以你至少需要100 GB的堆。存储大量数据的更好方法是堆外内存映射文件

我想要一个大的
ArrayList
,因此它的索引将超出
int
,我如何或如何使用它?
我已经检查过向量是否有同样的问题,有什么想法吗?

@azurefrog没有,不是这样!其中一个问题没有得到精确的解决,假设一个引用长度为4字节,那么包含1100万个引用的ArrayList应该大约为42MB。我在google上看到过这个,如果你有一个40亿条目的ArrayList,那么每个引用和每个引用的对象(即使是一个很小的对象)都是24字节,所以你至少需要100 GB的堆。存储大量数据的更好方法是堆外内存映射文件。这种方法几乎不使用堆,并且可以比主内存更大,因此更实用。此外,每个对象的开销可以低得多,例如每个对象4个字节。