当前位置: 代码迷 >> J2ME >> Java中的ArrayList中元素的生存周期?解决方案
  详细解决方案

Java中的ArrayList中元素的生存周期?解决方案

热度:4095   发布时间:2013-02-25 21:38:35.0
Java中的ArrayList中元素的生存周期??
具体是这样的,我有两个ArrayList,分别为a和b,
Java code
ArrayList<HashMap<String, Object>> a = new ArrayList<HashMap<String, Object>>();ArrayList<HashMap<String, Object>> b = new ArrayList<HashMap<String, Object>>();HashMap<String, Object> map = new HashMap<String, Object>();a.add(map);//我就添加一个元素到a中

然后在某一时刻我通过
Java code
HashMap<String, Object> mapTmp = a.get(0);//取出刚才添加的那个mapb.add(mapTmp);//添加到b中


我想问的是,经过上边的步骤后,a、b两个列表中的这个map是同一个对象呢还是只是有相同数据的两个map?如果在添加到b中后我把a列表直接清空,那么b中的这个map还存在么还有用么?同样,如果我在清空a列表前先把b列表清空,那a中的这个map还可用么?刚学JAVA,不太确定

------解决方案--------------------------------------------------------
同一个对象


------解决方案--------------------------------------------------------
a、b两个列表中的这个map是同一个对象
b中把a列表清空,b中的这个map仍然存在,因为可以通过a.get(0)获得,但b中的列表确实空了
a中把b列表清空,a中的这个map仍然存在,因为可以通过b.get(0)获得,但a中的列表确实空了

------解决方案--------------------------------------------------------
有点绕,但仔细想想应该能明白的,希望对LZ有所帮助
  相关解决方案