第3章-003节

一、get⽅法

相⽐较于put⽅法,get⽅法则简单很多。其过程就是⾸先通过hash()⽅法求得key的哈希值,然后
根据hash值得到index索引(上述两步所⽤的算法与put⽅法都相同)。然后迭代链表,返回匹配
的key的对应的value;找不到则返回null。
public synchronized V get(Object key) {
Entry tab[] = table;
int hash = hash(key);
int index = (hash & 0x7FFFFFFF) % tab.length;
for (Entry<K,V> e = tab[index] ; e != null ; e = e.next) {
if ((e.hash == hash) && e.key.equals(key)) {
return e.value;
}
}
return null;
}

二、遍历⽅式

Hashtable有多种遍历⽅式:
//1、使⽤keys()
Enumeration<string> en1 = table.keys();
while(en1.hasMoreElements()) {
en1.nextElement();
}
//2、使⽤elements()
Enumeration<string> en2 = table.elements();
while(en2.hasMoreElements()) {
en2.nextElement();
}
//3、使⽤keySet()
Iterator<string> it1 = table.keySet().iterator();
while(it1.hasNext()) {
it1.next();
}
//4、使⽤entrySet()
Iterator<Entry<String, String>> it2 = table.entrySet().iterator();
while(it2.hasNext()) {
it2.next();
}</string></string></string>

大家一起学习丫~

java集合学习 文章被收录于专栏

主要讲解java集合相关的概念、原理和部分面试题。 共计11章。 不断更新中。。。 (摘自某大佬)

全部评论

相关推荐

10-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务