HashTable
来源:互联网 发布:java求质数算法 编辑:程序博客网 时间:2024/05/23 19:36
1.函数都是同步的,线程安全,不允许null key或null value
2.contains方法中使用的遍历
for (int i = tab.length ; i-- > 0 ;) { for (Entry e = tab[i] ; e != null ; e = e.next) { if (e.value.equals(value)) { return true; } }}
3.put时没有对key进行再次hashcode,使用的是key本身的hashcode,所以对于Entry索引判断与HashMap不同:
int hash = key.hashCode();int index = (hash & 0x7FFFFFFF) % tab.length;
4.HashTable中hash数组默认大小是11,增加的方式是 old*2+1。 在索引判断中,运用的是取余方式,质数的取余分散效果较好,这里虽然不是质数,但也是奇数。
5.遍历方式
第一个是遍历keySet,再根据每个key获取value
第二个是遍历entrySet,从entrySet获取key与value
第三个是通过Enumeration遍历Hashtable的key或value
Enumeration enu = table.keys();while(enu.hasMoreElements()) { System.out.println(enu.nextElement());}Enumeration enu = table.elements();while(enu.hasMoreElements()) { System.out.println(enu.nextElement());}
参考:http://blog.csdn.net/zheng0518/article/details/42199477
0 0
- HashTable
- Hashtable
- HashTable
- hashtable
- Hashtable
- HashTable
- hashtable
- HashTable
- Hashtable
- Hashtable
- Hashtable
- Hashtable
- hashtable
- Hashtable
- hashtable
- HashTable
- HashTable
- HashTable
- 网易编程题(2)
- Vim简明教程
- 执行docker ps命令,出现 "Cannot connect to the Docker daemon at unix:///var/run/docker.sock. ..."问题
- BZOJ P1084[scoi2005]最大子矩阵
- HTTP协议的报文结构
- HashTable
- 设计模式---命令模式(C++实现)
- 机器学习->推荐系统->itemCF算法
- ASessionDescription::parse
- LINUX与C语言
- ajax与jquery批量更新,异步请求
- PHP生成随机字符串
- Android中关于EditText的细节
- 网易游戏2017互娱实习笔试编程--竖式填空