记录知识学习--利用list给HashMap<String, List<String>>赋值

1.场景

给HashMap>赋值,value是List。

2.解决

如果map中存在key,就在value后面追加;如果map中不存在key,就新建一个ArrayList,然后追加。

    @Test
    public void mapValueList(){
        HashMap<String, List<String>> map = new HashMap<>();
        for (int i = 0; i < 5; i++) {
            List<String> list = map.computeIfAbsent(""+i, k -> new ArrayList<String>());
            list.add(""+i);
        }

        System.out.println(map);
    }

3.运行结果

{0=[0], 1=[1], 2=[2], 3=[3], 4=[4]}

4.结论

虽然在for循环中“没有”操作map,但是使用list指向了map的那个key,list发生了变化,map对应的key的位置就发生了改变。

你可能感兴趣的:(springboot,java)