在Java中包含大量常量的最佳方法?

时间:2014-04-08 18:28:09

标签: java arrays

我有一个Java应用程序,其数组包含260万个永不改变的值。初始化它的最佳方法是什么?

显而易见的答案是将其放入代码中 - 例如:

int[] BigArray = new int[] {1, 2, 3, <...>, 2599999, 2600000};

但我认为这违反了一些尺寸限制。

我已经看到this post提到了属性中的键/值对,但这似乎并不特别直观 - 我不明白为什么我需要将每个数组条目保存为键(对于数组)索引)和一个值;我应该能够按顺序获得这些值。

下一个最好的方法似乎是将数据保存为文件,然后在启动时将文件加载到数组中(或使用List),每个值都在自己的行上(是的,行分隔符采用增加2.6MB,但260万个逗号也是如此)。这是一种耗时的方式吗?

1 个答案:

答案 0 :(得分:1)

假设您正在尝试获取高达2.6M的每个int值的数组,请执行此操作

    int[] bigArray = new int[2600000];
    for(int i = 0; i < 2600000; i++)
    {
        int j = i;
        bigArray[i] = j+1;
    }

你引用的文章被标记为Android开发,所以我不知道你是否正在为Android开发,因为这篇文章没有标记为android,但如果你正在做我认为你正在做的事情,这应该有效。