看看我的代码有没有解决你的问题。
public static void main(String[] args) {
Map<String, Boolean> map = new HashMap<String, Boolean>();
map.put("0", true);
map.put("1", true);
map.put("2", true);
map.put("3", false);
List<String> list = new ArrayList<String>();
list.add("红色");
list.add("蓝色");
list.add("绿色");
list.add("紫色");
List<String> list1 = new ArrayList<String>();
Map<String, String> map1 = new HashMap<String, String>();
for(int i=0;i<map.size();i++){
if(map.get(i+"")){
map1.put(""+i, ""+i);
list1.add(list.get(i));
}
};
list.removeAll(list1);
for(int i=0;i<map1.size();i++){
map.remove(map1.get(""+i));
}
System.err.println(map.toString());
System.err.println(list.toString());
}