用Java创建一个巨大的2D数组

时间:2016-05-07 05:27:21

标签: java arrays

我正在尝试创建一个巨大的2D数组。

String[][] arr = new String[100000][100000];

但在执行时,我得到java.lang.OutOfMemoryError: Java heap space

除了增加堆空间外,如何防止出现此异常?

2 个答案:

答案 0 :(得分:1)

你真的会使用100000 X 100000的位置吗?如果没有,你不确定最大限制你可以从List的{​​{1}}开始

声明如此List

如果您想要致电,则需要List<List<String>> arr = new ArrayList<List<String>>();代替arr.get(0).get(1);

答案 1 :(得分:1)

你不能这样做它为你的阵列制作100000 * 100000 = 10.000.000.000数据!

你不记得!!

减少这两个数字,我不认为你需要这么多记忆!

你可以继续:

String[][] arr = new String[14000][14000];

我尝试过它有效!