根据方法去掉不符合map里面数据

我现在已经写了一个获取符合条件的方法,请问我怎么根据这个方法去掉map里面数据

            符合条件方法
            public boolean hasFactor(String factor) {

    return this.hasSetValue(KEY_ALL_FACTOR_SET, factor);
}

不知道你是根据键还是根据值代入条件,下面代码是根据键,根据值的话,换成getValue()

 for (Iterator<Map.Entry<String,String>> it = map.entrySet().iterator(); it.hasNext();){
    Map.Entry<String, Stringr> item = it.next();
    if (hasFactor(it.getKey())) {
        it.remove();
    }
}

Map m = new TreeMap();
m.put("key1", "value1");
m.put("key2", "value2");
m.put("key3", "value2");

Iterator iterator = m.keySet().iterator();
while (iterator.hasNext()) {
    String key = iterator.next();
    if (key.startsWith("key")) {
        iterator.remove();
    }
}

guava 的 Maps.filterKeys和Maps.filterValues 了解一下