搜索阵列列表

Dan*_*nny 0 java

我目前有一个名为list的数组列表,其中包含大量数字(双精度数).我需要将这个大数组列表分成8个较小的数组,我这样做:

//Array List "list" contains close to 8 million numbers in it
            for (int c1 = 0; c1 < list.size(); c1++)
        { //for
        counter1++;
        if (counter1 % rows ==1)
            ID.add(list.get(c1));
        else if (counter1 % rows ==2)
            Contract.add(list.get(c1));
        else if (counter1 % rows == 3)
            Date.add(list.get(c1));
        else if (counter1 % rows == 4)
            Open.add(list.get(c1));
        else if (counter1 % rows == 5)
            High.add(list.get(c1));
        else if (counter1 % rows == 6)
            Low.add(list.get(c1));
        else if (counter1 % rows == 7)
            Close.add(list.get(c1));
        else if (counter1 % rows == 8)
            Volume.add(list.get(c1));
    }  //for
Run Code Online (Sandbox Code Playgroud)

每8个数字就是一系列重要信息的开始.
例如.ID合约日期开高价低收盘量ID1合约1日期1开1高1低1收1卷1

之前我问过是否有更好的方法来组织这个.我现在有一个不同的问题.有没有办法在使用for循环之外搜索arraylist?而不是像我一样组织数组列表(它需要永远使用大型文档),我可以提示用户输入ID和契约,然后让我的程序在代码中以比使用for循环更有效的方式搜索?

Kyl*_*leM 5

重要信息的每个"行"应该由Java对象表示,而不是由某些人在评论中建议的HashMap表示.您正在使用面向对象的编程语言,因此创建一个名为Contract(或代表这8个字段的其他任何东西)的类,然后您将拥有一个ArrayList<Contract> = new ArrayList<Contract>()将存储所有这些对象的类.