2016-05-01 157 views
0

我有一个表如下迭代通过多维数组列表以HashMap的Java中

     Total Upright Supine Meal PostPr ChestP  Other 
Duration of Period 22:38 14:30 08:08 01:02 06:54 00:48  00:28 
Number of Refluxes 5  4  1  0  3  2   0 

从这个我已经创建了一个多维数组Arr_ReflDay1_table2d如下:

[[Total, Upright, Supine, Meal, PostPr, ChestP, Other], [Duration of Period , 22:38, 14:30, 08:08, 01:02, 06:54, 00:48, 00:28], [Number of Refluxes, 5, 4, 1, 0, 3, 2, 0]] 

我想它变成HashMap使得Key是值来自的行和列名称。例如HashMap的可能是:

Total_DurationOfPeriod=22:38,Upright_DurationOfPeriod=14:30,Supine_DurationOfPeriod=08:08

我试着这样做:

Map<String,String> mapReflDay1= new LinkedHashMap<String,String>(); 
    ArrayList<List<String>> Arr_ReflDay1_table2d = new ArrayList<List<String>>(); 
     for (int ff=0;ff<Arr_ReflDay1_table2d.size();ff++){ 
       for (int fg=0;fg<Arr_ReflDay1_table2d.size();fg++){ 
        for (int fx=0;fx<Arr_ReflDay1_table2d.get(0).size();fx++){ 
          mapReflDay1.put("ReflDay1"+Arr_ReflDay1_table2d.get(0).get(ff)+Arr_ReflDay1_table2d.get(fg).get(0)+","Arr_ReflDay1_table2d.get(ff).get(fx)); 
     } 
       } 
         } 

这给钥匙不错,但价值似乎只能从最后一列采取

+1

为什么不使用类和对象,实际类型而不是字符串?一切都会变得更清晰和更安全。我看到一个类有两个字段(持续时间,类型为持续时间,类型为int的refluxCount)的分析,以及7个类型为分析的变量,名为总数,直立等。不使用字符串,数组和地图来对所有内容建模。 Java是一种OO强类型语言。使用适当的类型,并定义类。 –

+0

我刚刚展示了MCVE。 ArrayList是键入的。我已经添加并删除了字符串。 –

+0

最终解决了它。刚刚向第一个内部ArrayList添加了一个额外的元素,所以我正在遍历每个内部ArrayList中相同数量的元素 –

回答

0

最终解决了它。刚刚添加了一个额外的元素到第一个内部ArrayList,所以我迭代了每个内部ArrayList中相同数量的元素