Java的基础类库提供了丰富的容器接口、抽象类和实现类,使我们平常的开发工作轻松了许多,善于使用这些个基础类库,不仅能够减少错误的出现,而且还能提升我们代码的速度(基础类库都是经过各种打磨的,性能基本没得说)。在这里想说一下,如果在用Java想自己写一个小算法之前,请先去看看Java提供的API,也许仅仅经过一个小变通就能解决自己的问题了,这个时候,请不要造轮子,为了你自己,为了大家,为了后面维护你代码的人,请不要造轮子。
Java提供的容器类的实现主要分以下两类:Collection和Map类型。
注意:这个图我省略了一下实现关系,例如ArrayList implements List 我给省略了,因为已经通过AbstractList实现过接口
从上图可以看到,Collection和Map没有任何交集,他俩是分庭抗礼,毕竟表示的不是同一种类型的数据结构,但是,我在想啊,他们都是装东西,然后肯定还是可以抽象出来一些共同的东西:装了多少了,还能装多少,能装多少等等这种基本的操作,翻译成方法就是:
至于contain和remove操作就不行了,毕竟Map是需要两个:key-value的形式,统一抽象起来比较有点困难