Map与HashMap两种定义方式的区别

Java代码 收藏代码

  1. Map<bluh> map1 = new HashMap<bluh>();  

  2. HashMap<bluh> map2 = new HashMap<bluh>();  

 

 

1.灵活性 定义为Map之后更灵活 今后才有可能在需要的时候替换为HashMap之外的其它实现如TreeMap等,同时如Joshua Bloch等大师也倡导面向接口编程 code to interfaces

 

2.有得必有失,第一种的tradeoff就是无法调用HashMap特有的方法,也就是存在于Map接口中所定义的方法之外的HashMap自己的方法,当然同时也是HashMap未override的方法

 

more to check out this link on StackOverflow:

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

你可能感兴趣的:(Map与HashMap两种定义方式的区别)