Collection和map

来源:互联网 发布:淘宝换绑支付宝 编辑:程序博客网 时间:2024/05/07 18:30

我们先来看下java中Collection和map的关系图

collection

有此我们也可以看出来map接口和Collection是没有继承关系的

         先来顾名思义下,这是有规律的,set类表示底层是实现是无序的,list类是有序的,queue是队列,一种数据结构,存取数据是按照先进先出原则(FIFO),而实现map接口的类是用来存储健—值对(key_value)。前面的应该算是修饰词了,hash表示内部存储方式是采用hash算法,对某个数字n进行取余方式对hash码进行分组和划分对象的存储区域。Link表示底层是链性存储方式,Tree表示数据结构是树状结构,这些都是数据结构里面的内容而且真较真的想要弄懂底层算法也是很不易的。我们只要面向java提供的接口和类编程就好了。Collection给我们提供了很多静态方法,我们可以简单对他们进行很复杂的操作了。

集合类使用时要注意:

@集合类不能用下标访问存储的对象,但是仍然可以使用下标概念来表示元素的位置。

@如用到泛型,要注意泛型使用规则,关于泛型(Generics)点击可以访问我的blog。

@和Set 一样,一个Map容器中的键对象不允许重复。

@HashMap和HashSet也用到了哈希码的算法,以便快速查找一个键。如果没有必要不要修改里面的HashCode方法,否则有可能造成内存泄露。

java为我们提供了访问集合的利器,Itertor迭代器,此接口提供了三个方法: boolbean HashNext(),E Next()和 void remover()

比如我们可以这样:

 

遍历Hashmap有很多方法,我在这里写出两种。

 

个人理解,还太肤浅,有很多不当之处。还望有缘读到此bolg的有缘人不吝赐教.