2016-05-01 162 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中相同數量的元素