Java 中map集合 判断key值是否相等 如果key值相等就将对应的value值加1。 坐等!

如题所述

    public static void main(String[] args) {
        Map<String, List<String>> input = new HashMap<String, List<String>>();
        List<String> list = new ArrayList<String>();
        list.add("《狂人日记》");
        list.add("《狂人日记》");
        list.add("《狂人日记》");
        list.add("《狂人日记》");
        input.put("小王", list);
        Map<String, Map<String, Integer>> maplist = add(input);
            System.out.println(maplist.get("小王").get("《狂人日记》"));
    }

    public static Map<String, Map<String, Integer>> add(
            Map<String, List<String>> input) {
        Map<String, List<String>> maplist = new HashMap<String, List<String>>();
        Map<String, Integer> temp = new HashMap<String, Integer>();
        temp.put("《狂人日记》", 0);
        Map<String, String> map = new HashMap<String, String>();
        map.put("小王", "《狂人日记》");
        Map<String, Map<String, Integer>> map2 = new HashMap<String, Map<String, Integer>>();
        map2.put("小王", temp);
        Set<String> names = map2.keySet();
        Set<String> names2 = input.keySet();
        for (String str : names) {
            for (String str2 : names2) {
                if (str.equals(str2)) {
                    for (String str3 : input.get(str2)) {
                        temp.put(str3, map2.get(str).get(str3) + 1);
                        map2.put(str, temp);
                    }
                }
            }
        }
        return map2;
    }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-08
map.containsKey(key) 用这个方法来判断,是在往map中写的时候判断
第2个回答  2015-06-05
你这个问题明显是数据结构没有学好,Map中的key值不会相等的啊,怎么key值相等?
第3个回答  2015-06-05
这表达的是什么意思?次数是指list中重复书名的次数?
相似回答