map中使用的细节问题(不同key循坏中被后面的值替换)

 public static void main(String[] args) {
    	List<String> list2 = new ArrayList<String>();
    	List<String> list = new ArrayList<String>();
    	list2.add("1");
    	list2.add("2");
    	list2.add("3");
    	Map<String, Object> map = new HashMap<String, Object>();
		for (int i = 0; i < list2.size(); i++) {
			list.clear();
			if(i==1) {
				list.add("李想");
			}else {
				list.add("理想");
			}
			
			map.put("data"+i, list);
		}
		System.out.println(map);
	}

  

一不小心出现这种情况;将list定义在循环中但循环过长又会造成内存溢出!

原文地址:https://www.cnblogs.com/wwwcf1982603555/p/13995499.html