| 发表于:2008-01-08 09:39:324楼 得分:10 |
采用hash存储的可以加快寻找速度的,像hashmap的key就是采用key的hashcode, 通过某些运算将其分组进行存放,今后需要使用get(key)查找数据时也采用同样的 算法找到分组区,这样就大大地加快了寻找的速度,这个主要取决于hashcode, hashcode的计算速度是非常快的,sun官方也要求自行实现的hashcode()方法的速 度也要是简单快捷的。 hashmap虽然说在搜索的速度上很快,但是它的迭代顺序是先前未知的,你不能保证 第一个存放进去的数据,再循环迭代时会第一个出现。如果需要保证迭代顺序而使用 hashmap的话,可以采用其子类:linkedhashmap,这个集合类采用双链表的结构, 在使用hashcode分组的情况下,也保证了迭代的顺序。 上面的链接是sun的the collections framework,里面有关于集合框架所有的东西。 | | |
|