关于hashmap put 的问题

关于hashmap的问题

Map map = new HashMap();  
Object a = new Object(); 
map.put("1",a); 


 

hashMap存储的都是地址:

public class TShashMap {
	public static void main(String[] args) {
		Map ts = new HashMap();
		TSA tsa = new TSA();
		tsa.setAge(15);
		tsa.setName("hashMap");
		ts.put(1, tsa);
		System.out.println((TSA)ts.get(1));
		tsa.setAge(18);

		System.out.println((TSA)ts.get(1));
	}
}
class TSA {
	private String name;
	private int age;
	
	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	public String toString() {
		return "name:" + name + " age:" + age;
	}
}


 

内存溢出是由于java虚拟机本身的原因,和内存没有关系。
只要存入hashmap中的元素在1<<30之内,就OK

你可能感兴趣的:(关于hashmap put 的问题)