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。请问如何实现,谢谢!!!!
[{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。请问如何实现,谢谢!!!!
首先便利List出来Map
然后根据Map里面的KEY得到前两个Map,然后根据List索引删除。
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);
}
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);