使用番石榴,您可以执行以下操作
import com.google.common.base.Predicate;
import com.google.common.collect.Maps;
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("element1", 40);
map.put("element2", 4);
map.put("element3", 66);
map.put("element4", 5);
Map<String, Integer> filteredMap = Maps.filterValues(map,
Predicates.equalTo(66));
}
由于您所需的年龄可能会改变,您可以拥有一个用于过滤的 AgePredicate
class AgePredicate implements Predicate<Integer> {
int minAge;
public AgePredicate(int minAge) {
super();
this.minAge = minAge;
}
@Override
public boolean apply(Integer age) {
return age > minAge;
}
}
并在您的过滤器中使用它,如下所示
Map<String, Integer> filteredMap = Maps.filterValues(map,new AgePredicate(66));