问题是这样的:
现在有一个List<Map> A里边Map结构都一样:{"lable":"","data1":"","data2":"","data3":""}
有什么好方法可以把其中的{"lable":""}、{"data1":""}、{"data2":""}以及{"data3":""}分别作为单独的List<Map>,从原来的A中取出来
如果把A看成是一个二维数组,现在就是想取出这个二维数组的每一列
各位大神有什么好方法,求指教,谢谢啦java 数据结构 listlistjava数据结构

解决方案 »

  1.   


    Map<String,String[]>listMap=new HashMap<>();
    int idx=0;
    for(Map<String,String>map:A){
     for(Entry<String,String>e:map.entrySet()){
      String[]vals=listMap.get(e.getKey());
      if(vals==null){
       vals=new String[A.size()];
       listMap.put(e.getKey(),vals);
      }
      vals[idx++]=e.getValue();
     }
    }LZ需要这样?
      

  2.   

    直接当做object存  取的时候强转list->强转map 
      

  3.   

    不是Map<String, String[]>而是List<Map<String, String>>
    目前情况无法建立Map<String, String[]>
    而且,我觉得逐条取太慢了,希望能有快捷点的方法
      

  4.   

    即便直接toString拆串,底层也会遍历的,除非改变你的数据最初的集合形态否则很难解决这个问题。
      

  5.   

    那就是说只能一个一个遍历再赋值给新的List<Map>了?
      

  6.   

    如果要改变集合形态的话,就要在查询数据是下点功夫了。有没有大神熟悉Hql的?具体问题是这样的:
    这个查询结果有4项,我希望这4项构成四个Map。也就是{{key1=value1},{key2=value2},{key3=value3},{key4=value4}}
    我知道构成一个Map可以用new map,这个样的话结果是{key1=value1,key2=value2,key3=value3,key4=valude4}
    但是如何使一个查询结果构成四个map呢?
    new map好像不能嵌套,各位大神有何高见,求指教~~
      

  7.   

    补充一下,hql查询的底层操作使用hibernatetemplate实现的。
    各位大神帮帮忙吧。拜托了
      

  8.   

    是挺像的,那hql语句怎么写呢?