1。ArrayList<Map>是这样的。
[{ID=0}, {ORDERNUMBER='系统订单号'}, {CUSTOMERORDER='客户订单号'}]
2。要删除的是这些元素,即
ArrayList<String> kill=new ArrayList<String>();
kill.add("ID");
kill.add("ORDERNUMBER");
kill.add("123"); kill.add("CUSTOMER");3。得到的结果,应该是这样的。
 {CUSTOMERORDER='客户订单号'}//因为只有此元素不在要移除的那个kill范围中。
4。请问如何实现,谢谢!!!!

解决方案 »

  1.   

    操,貌似作业贴,好吧,
    首先便利List出来Map
    然后根据Map里面的KEY得到前两个Map,然后根据List索引删除。
      

  2.   

    假设你的ArrayList<Map>对象是 listMap ;
    ArrayList<Map> newListMap = new ArrayList<Map>();
    for(int k=0;k<kill.size();k++){
    for(int i=0;i<listMap.size();i++){
        Map map = (Map)listMap.get(i);
        if(map.containsKey(kill.get(k))){
          newListMap.add(map);
    }
    }
    listMap.removeAll(newListMap);
    }
      

  3.   

    最简单的写法
    Map<String, String> map = new HashMap<String, String>();
    map.put("ID", "0");
    map.put("ORDERNUMBER", "系统订单号");
    map.put("CUSTOMERORDER", "客户订单号"); List<String> kill = new ArrayList<String>();
    kill.add("ID");
    kill.add("ORDERNUMBER");
    kill.add("123"); for (int i = 0; i < kill.size(); i++) {
    if (map.containsKey(kill.get(i))) {
    map.remove(kill.get(i));
    }
    } System.out.println(map);
      

  4.   

    谢谢,map.containsKey此函数我未想到,我使用map.contain故而不对。因为ID与[ID]不对