LinkedList的问题,用过的进来~~~

 LinkedList list=new LinkedList<>();
           list.add("A"); 
            list.add("B"); 
            list.add(1, "666"); 

            System.out.println(list);

输出
[A, 666, B]

但是 ,把a,b换成map

Map<String, String> map=new HashMap<>();
        LinkedList<Map<String, String>> list=new LinkedList<>();

         map.put("title", "1");
         list.add(map);
         map.put("title", "2");
         list.add(map);
         map.put("title", "666");
         list.add(1, map);

            System.out.println(list); 

运行结果
[{title=666}, {title=666}, {title=666}]
并不是
1,666,2

为什么?

这个问题和LinkedList完全没关系。
HashMap的key是具有唯一性的,你三次put的时候key一样value是会被覆盖,所以add到list里的其实是同一个map

Map<String, String> map=new HashMap<>();
        Map<String, String> map2=new HashMap<>();
        Map<String, String> map3=new HashMap<>();
        LinkedList<Map<String, String>> list=new LinkedList<>();

         map.put("title", "1");
         list.add(map);
         map2.put("title", "2");
         list.add(map2);
         map3.put("title", "666");
         list.add(1, map3);

            System.out.println(list); 

你是对的,麻烦大佬科普一下