IdentityHashMap的用法和HashMap的用法差不多,他们之间最大的区别就是IdentityHashMap判断两个key是否相等,是通过严格相等即(key1==key2)来判读的,而HashMap是通过equals()方法和hashCode()这两个方法来判断key是否相等的,具体代码如下
package collectionPackage;
import java.util.IdentityHashMap;
/**
* IdentityHashMapTest判断两个对象是否相等的标准:是通过==来判断是否相等
* @author Administrator
*
*/
public class IdentityHashMapTest {
public static void main(String[] args) {
IdentityHashMap ihm= new IdentityHashMap();
//IdentityHashMap通过==来判断两个new String对象是不相等的,所以作为两个不同的对象加入
ihm.put(new String("语文"), 89);
ihm.put(new String("语文"), 93);
System.out.println(ihm);
//由于java是一个字符串,直接将它放在常量池中,故认为是两个相同的对象,。。所以就只会作为一个对象加入
ihm.put("java", 88);
ihm.put("java",90);
System.out.println("第二次的ihm"+ihm);
}
}