在Java中存储大型(~30k元素)浮点数组

时间:2017-08-09 14:09:16

标签: java android

在Java中存储大型静态数组的正确方法是什么?

我有三个浮点数组,每个浮点数由我需要从程序中访问的大约30000个元素组成。数组的内容不会改变。

编辑:我目前无法从任何Java程序访问数组而不将它们分成相对较小的(子1k元素)数组,将它们放在单独的方法(每个限制为64KB的字节码)中,然后将它们合并在一起该程序。这对我来说似乎是一个糟糕的解决方案。

1 个答案:

答案 0 :(得分:0)

制作一个单独的程序,接受stdin上的矩阵并将它们存储在文件中。每个文件中的第一行是一个整数,表示矩阵中的元素数,后面的行是实际的矩阵元素。不是一个漂亮的解决方案,但它完成了工作。

public static void main(String[] args) throws IOException, ClassNotFoundException {
    Scanner in = new Scanner(System.in);
    float[] floatArray;
    int count = in.nextInt();
    float temp;
    int i = 0;
    floatArray = new float[count];
    while (in.hasNextFloat()) {
        temp = in.nextFloat();
        floatArray[i] = temp;
        i++;
        }
        ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream("glockVert.arr"));
        outputStream.writeObject(floatArray);
}