Java Map V.S. HashMap

转自:

http://way2java.com/collections/map/map-vs-hashmap/

http://stackoverflow.com/questions/1348199/java-hashmap-vs-map-objects

http://bbs.csdn.net/topics/240071574


Map是纯接口,而HashMap、TreeMap等都是Map接口的实现类。

Map<String, Object> 是接口,HashMap<String, Object>是实现类。

使用Map时,因为直接申明的就是接口Map,所以,当把实际new出来的Map的对象换成Map的其他子类对象时,不会破坏现有代码的“契约”(Contract),即面向接口编程。相反,如果申明成HashMap,在将对象从HashMap换成其他Map子类时,现有代码的“契约”会受到破坏。

可以这样:Map map = new HashMap(); map = new TreeMap();

你可能感兴趣的:(Java Map V.S. HashMap)