Java Struging以简化HashMap对象的放置

Java Struging以简化HashMap对象的放置,java,android,json,list,hashmap,Java,Android,Json,List,Hashmap,我正在创建一个SimpleExpandableListAdapter,在没有大量代码的情况下,很难将对象放入相应的组中 布局如下: [星期一] -childGroup1数据 [星期二] -childGroup2数据 我有一个JSON数组,它为用户返回一个课程列表,这些课程需要按天排序,并放在相应的可扩展标题中。但是我的代码很长,我想知道是否有更简单的方法可以做到这一点,我可能忽略了 我获取JSON对象,检查它的日期,并将该课程的数据存储到days组中 我觉得我编写这段代码的方式太长了,我正在寻找

我正在创建一个SimpleExpandableListAdapter,在没有大量代码的情况下,很难将对象放入相应的组中

布局如下: [星期一] -childGroup1数据 [星期二] -childGroup2数据

我有一个JSON数组,它为用户返回一个课程列表,这些课程需要按天排序,并放在相应的可扩展标题中。但是我的代码很长,我想知道是否有更简单的方法可以做到这一点,我可能忽略了

我获取JSON对象,检查它的日期,并将该课程的数据存储到days组中

我觉得我编写这段代码的方式太长了,我正在寻找改进这段代码的方法,以使其更具动态性

//child data
List<List<HashMap<String, String>>> childData = new ArrayList<List<HashMap<String, String>>>();
List<HashMap<String,String>> childGroup0 = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> childGroup1 = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> childGroup2 = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> childGroup3 = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> childGroup4 = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> childGroup5 = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> childGroup6 = new ArrayList<HashMap<String,String>>();
for (int i = 0; i < jArray.length(); i++) {
    JSONObject jObj = jArray.getJSONObject(i);

    HashMap<String, String> hm = new HashMap<String, String>();
    hm.put("moduleName", jObj.getString("moduleName"));
    hm.put("startTime",
            (jObj.getString("startTime")).substring(0, 5));
    hm.put("endTime",
            (jObj.getString("endTime")).substring(0, 5));
    hm.put("group", jObj.getString("group"));
    hm.put("roomName", jObj.getString("roomName"));
    hm.put("firstName", jObj.getString("firstName"));
    hm.put("lastName", jObj.getString("lastName"));

    switch (Integer.parseInt(jObj.getString("day"))){
    case 0:
        childGroup0.add(hm);
        break;
    case 1:
        childGroup1.add(hm);
        break;
    case 2:
        childGroup2.add(hm);
        break;
    case 3:
        childGroup3.add(hm);
        break;
    case 4:
        childGroup4.add(hm);
        break;
    case 5:
        childGroup5.add(hm);
        break;
    case 6:
        childGroup6.add(hm);
        break;
    }                            
}
childData.add(childGroup0);
childData.add(childGroup1);
childData.add(childGroup2);
childData.add(childGroup3);
childData.add(childGroup4);
childData.add(childGroup5);
childData.add(childGroup6);
//子数据
List childData=new ArrayList();
List childGroup0=新建ArrayList();
List childGroup1=new ArrayList();
List childGroup2=new ArrayList();
List childGroup3=new ArrayList();
List childGroup4=new ArrayList();
List childGroup5=新建ArrayList();
List childGroup6=new ArrayList();
for(int i=0;i
是的,去掉所有那些
childGroup
对象,只需将它们作为列表项添加到您的
childData
中即可。如果
jObj.getString(“day”)>6,这也会导致错误,因此您可能需要在其中添加一些逻辑,说明它是否大于6,然后将其添加到其他组中

List<List<HashMap<String, String>>> childData = new ArrayList<List<HashMap<String, String>>>();
for(int i=0;i<6;i++)
    childData.add(new ArrayList<HashMap<String,String>>());
for (int i = 0; i < jArray.length(); i++) { 
    JSONObject jObj = jArray.getJSONObject(i);  

    HashMap<String, String> hm = new HashMap<String, String>();
    hm.put("moduleName", jObj.getString("moduleName"));
    hm.put("startTime",
            (jObj.getString("startTime")).substring(0, 5));
    hm.put("endTime",
            (jObj.getString("endTime")).substring(0, 5));
    hm.put("group", jObj.getString("group"));
    hm.put("roomName", jObj.getString("roomName"));
    hm.put("firstName", jObj.getString("firstName"));
    hm.put("lastName", jObj.getString("lastName"));

    childData.get(Integer.parseInt(jObj.getString("day"))).add(hm);
}
List childData=new ArrayList();
对于(int i=0;i+1)。此外,为了简洁起见,再加上多态性的“适当”使用,您可能应该将
HashMap
泛型参数更改为
Map
childData=new ArrayList()
(以及在您有
列表的其他地方)。