Count Items Matching a Rule

给一个数组, 里面是颜色,类别和名字, 求找到有多少个满足条件的物品.

class Solution {
    public int countMatches(List<List<String>> items, String ruleKey, String ruleValue) {
        Map<String, Integer> type = new HashMap<>();    
        Map<String, Integer> color = new HashMap<>();
        Map<String, Integer> name = new HashMap<>();
        for(int i = 0; i < items.size(); i++){
            List<String> item = items.get(i);
            type.put(item.get(0), type.getOrDefault(item.get(0), 0) + 1);
            color.put(item.get(1), color.getOrDefault(item.get(1), 0) + 1);
            name.put(item.get(2), name.getOrDefault(item.get(2), 0) + 1);
        }
        if(ruleKey.equals("type")){
            return type.getOrDefault(ruleValue, 0);
        } else if(ruleKey.equals("color")) {
            return color.getOrDefault(ruleValue, 0);
        } else{
            return name.getOrDefault(ruleValue, 0);
        }
    }
}