グアバを使用すると、次のことができます
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));