你如何创建一个大阵列?

时间:2013-05-03 02:39:33

标签: java arrays long-integer

我注意到当你创建一个数组时,它只能达到int的大小,因为这是它唯一接受的东西。如何创建一个适合长尺寸的?

4 个答案:

答案 0 :(得分:4)

你可以使用二维数组。

E.g。

Object[][] objects = new Object[Integer.MAX_VALUE][Integer.MAX_VALUE];

答案 1 :(得分:2)

目前,Java语言规范将Java数组限制为int索引。 (见section 10.4, "Array Access"。)

在Java 7之前允许long索引proposed as part of Project Coin,但提案was not accepted

另一种方法是使用表示支持长索引的元素向量的对象。

答案 2 :(得分:0)

根据Java语言规范(请参阅:http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html),您只能使用int(或shortbyte或{ {1}},为此目的被视为char

请记住,使用long索引数组的需要假设您将拥有> ~2演出可用的连续内存。根据您的垃圾收集策略和总分配内存,这可能很难实现。

答案 3 :(得分:0)

您只能基于多个数组创建一个BigArray类,并且它将具有带长参数的set / get方法。