现在的位置: 首页 > 综合 > 正文

hashmap学习记录

2013年01月29日 ⁄ 综合 ⁄ 共 389字 ⁄ 字号 评论关闭

问的是为什么要实现MAP接口,而不是AbstractMap存在的理由。
我查了一下资料,有一个人的说法,我比较认同,大致意思如下:
接口就是一个标准,你要拥有我的标准就要实现我。而HASHMAP就是来实现这个标准的。而抽象类则是可有可无的,这里用了它只是为了更方便。
实现了接口,说明HASHMAP是依赖于这个接口,而不是依赖于那个抽象类。就是说有一天抽象类废除了,这个HASHMAP也还有存在的意义,因为他实现了一个标准。否则不实现接口,只继承那个抽象类的话,那么它的存在只和抽象类有关,会同时废掉。 意思就是说降低了HASHMAP和Abstract类的耦合度。
我感觉MAP接口就好比是数据库的驱动接口,HASHMAP是某个具体厂商的实现类(TREEMAP是另外的厂商的实现类等)但他们都要遵循这个接口。Abtract也就相当于一个第三方的工具组件。。。
有点绕,不知道我说的明白没有。

抱歉!评论已关闭.