如何将59个元素分组为arraylist中的一个元素?

时间:2019-06-14 12:26:19

标签: java arraylist

因此,我有一个程序从1960年至2018年的文本文件中读取值及其年份。每个指标代码具有不同的值,但年份保持不变,即1960-2018年。我已成功读取文本文件并将其存储在arraylist中。

但是,来自一个指标的值及其年份未归为一个元素。而是将它们组合为一个值(及其年份)和一个元素。并且假设我有2个指标代码,每个指标代码有59个值。它们全都包含在118个元素中。我想要2个元素。

如何解决此问题,以便每个指标代码及其数据(年和值)都在一个元素中?

myLinkedList bigdata = new myLinkedList();
ArrayList <MyData> data = new ArrayList(); 
MyData d1;

File inFile2 = new File ("indicator2.txt");
FileReader fr2 = new FileReader (inFile2);
BufferedReader br2 = new BufferedReader(fr2);
String str2 = br2.readLine();

while(str2 != null ){
        StringTokenizer st = new StringTokenizer(str2,";");

        String cCode = st.nextToken();
        String iName = st.nextToken();
        String iCode = st.nextToken();

        for (int j = 0; j < 59; j++){ 
            String v = st.nextToken();
            int year = 1960 + j;

            d1 = new MyData (year,v);
            data.add(d1);
        }
            Indicator idct1 = new Indicator (cCode,iName,iCode,data);
            bigdata.insertAtBack(idct1);
            str2 = br2.readLine();
}

indicator2.txt的示例:
MYS;工业就业(占总就业的百分比)(国际劳工组织的估算模型); SL.IND.EMPL.ZS;空; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; null; 31,72100067; 31,62000084; 32,01699829; 32,22900009; 32,34000015; 32,23300171; 33,6629982; 31,76000023; 31,70000076; 32, 18299866; 33,11000061; 31,97999954; 32,02000046; 30,12700081; 29,72299957; 30,26000023; 28,45999908; 28,68000031; 27,01300049; 27,73699951; 29,08600044; 28,56900024; 28,36300087; 28,02300072; 27,51600075; 27,48699951; 27,39800072; 27,30500031

(从左起:cCode; iName; iCode;从1960年开始的值)

2 个答案:

答案 0 :(得分:1)

我相信问题是您一次又一次地将所有指标代码的数据写入相同的<script type="text/javascript"> var ph_user = <%- ph_user %>; // or window.ph_user = <%- ph_user %> </script> 中。如果您移动了以下语句怎么办:

ArrayList

在您的 ArrayList <MyData> data = new ArrayList(); 内部。然后,将其保存到while loop对象中时,您将为每个指标代码创建一个新的ArrayList

答案 1 :(得分:0)

通用类型可以嵌套,因此一种解决方案是改用MyData对象的ArrayLists的ArrayList:

ArrayList<ArrayList<MyData>>