是什么区别HashMap
,LinkedHashMap
而TreeMap
在Java中?我没有看到输出有任何差异,因为所有三个都有keySet
和values
.什么是Hashtable
s?
Map m1 = new HashMap();
m1.put("map", "HashMap");
m1.put("schildt", "java2");
m1.put("mathew", "Hyden");
m1.put("schildt", "java2s");
print(m1.keySet());
print(m1.values());
SortedMap sm = new TreeMap();
sm.put("map", "TreeMap");
sm.put("schildt", "java2");
sm.put("mathew", "Hyden");
sm.put("schildt", "java2s");
print(sm.keySet());
print(sm.values());
LinkedHashMap lm = new LinkedHashMap();
lm.put("map", "LinkedHashMap");
lm.put("schildt", "java2");
lm.put("mathew", "Hyden");
lm.put("schildt", "java2s");
print(lm.keySet());
print(lm.values());
Run Code Online (Sandbox Code Playgroud) 这是我试过的:
public final class firstObj{
public static void main(String args[]){
Object obj = new Object();
Object obj1 = new Object();
System.out.println(obj);
System.out.println(obj1);
}
}
Run Code Online (Sandbox Code Playgroud)
我首先编译了程序并连续运行了两次,我得到了两个不同的输出:
输出1:
java.lang.Object@6f548414
java.lang.Object@65ab7626
Run Code Online (Sandbox Code Playgroud)
输出2:
java.lang.Object@659c2931
java.lang.Object@6f548414
Run Code Online (Sandbox Code Playgroud)
我想知道为什么JVM将第二个对象的位置交换到第一个对象的位置当它第二次运行时...,这是非常令人困惑的......