private List<Map<Integer, String>> lst;
private Map<Integer, String> m;
.....
{
    m = new Map<Integer, String>();
    m.put(0, "First");
    m.put(1, "Second");
    lst.add(m);
}先有以上的代码执行后,我想再往lst里加入数据,直接
m.put(2, "third");
这样写行不行, 会不会更新到lst里,还是要再new一个Map?再lst.add(m)这样?

解决方案 »

  1.   

    这样写可以,这就加到最后一个里面呢!按你目前贴出来的代码,你的lst种的map是同一个。所以所有的map中都会加上的。
      

  2.   


        m = new Map<Integer, String>();
        m.put(0, "First");
        m.put(1, "Second");
        lst.add(m);//这个lst里面已经加入了m加入的两个值你的意思是想执行完这段代码然后还直接往m里放入值,同时也更新了lst,这样是可以的但是要先加入到m里面再调用lst,要不然做不到同步。