Java Hashtable
1 什么是Java Hashtable
Java Hashtable类实现了一个哈希表,该哈希表是key-value键值对结构。它继承了Dictionary类并实现Map接口。
Java Hashtable类要记住的核心要点:
- Java Hashtable是数组列表。每个列表称为存储桶。桶的位置通过调用hashcode()方法来标识。哈希表是key-value键值对结构。
- Java Hashtable类不能存储重复元素。
- Java Hashtable类不允许空键或空值。
- Java Hashtable类是同步的(线程安全的)。
- Hashtable类的初始默认容量为11,而负载因子为0.75。
2 Java Hashtable的语法
public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, Serializable
3 Java Hashtable的构造方法
构造方法 | 描述 |
---|---|
Hashtable() | 创建一个具有初始默认容量和负载因子的空Hashtable。 |
Hashtable(int capacity) | 接受一个整数参数,并创建一个包含指定初始容量的Hashtable。 |
Hashtable(int capacity, float loadFactor) | 用于创建具有指定初始容量和负载因子的Hashtable。 |
Hashtable(Map<? extends K,? extends V> t) | 使用给定的Map创建一个新的Hashtable。 |
4 Java Hashtable的方法
5 Java Hashtable的例子
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Hashtable的例子
*/
import java.util.*;
class Demo{
public static void main(String args[]){
Hashtable<Integer,String> hm=new Hashtable<Integer,String>();
hm.put(100,"Eric");
hm.put(102,"Jack");
hm.put(101,"Rose");
hm.put(103,"Mark");
for(Map.Entry m:hm.entrySet()){
System.out.println(m.getKey()+" "+m.getValue());
}
}
}
输出结果为:
103 Mark
102 Jack
101 Rose
100 Eric
6 Java Hashtable的例子:remove()
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Hashtable的例子
*/
import java.util.*;
public class Demo {
public static void main(String args[]) {
Hashtable<Integer,String> map=new Hashtable<Integer,String>();
map.put(100,"Eric");
map.put(102,"Jack");
map.put(101,"Rose");
map.put(103,"Lucas");
System.out.println("remove前: "+ map);
//删除key为102的数据
map.remove(102);
System.out.println("remove后: "+ map);
}
}
输出结果为:
remove前: {103=Lucas, 102=Jack, 101=Rose, 100=Eric}
remove后: {103=Lucas, 101=Rose, 100=Eric}
7 Java Hashtable的例子:getOrDefault()
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Hashtable的例子
*/
import java.util.*;
class Demo{
public static void main(String args[]){
Hashtable<Integer,String> map=new Hashtable<Integer,String>();
map.put(100,"Eric");
map.put(102,"Jack");
map.put(101,"Rose");
map.put(103,"Lucy");
System.out.println(map.getOrDefault(101, "Not Found"));
System.out.println(map.getOrDefault(105, "Not Found"));
}
}
输出结果为:
Rose
Not Found
8 Java Hashtable的例子:putIfAbsent()
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Hashtable的例子
*/
import java.util.*;
class Demo{
public static void main(String args[]){
Hashtable<Integer,String> map=new Hashtable<Integer,String>();
map.put(100,"Eric");
map.put(102,"Jack");
map.put(101,"Rose");
map.put(103,"Lucy");
System.out.println("初始化Hashtable: "+map);
map.putIfAbsent(104,"Mark");
System.out.println("更新后的Hashtable: "+map);
map.putIfAbsent(101,"Lucas");
System.out.println("更新后的Hashtable: "+map);
}
}
输出结果为:
初始化Hashtable: {103=Lucy, 102=Jack, 101=Rose, 100=Eric}
更新后的Hashtable: {104=Mark, 103=Lucy, 102=Jack, 101=Rose, 100=Eric}
更新后的Hashtable: {104=Mark, 103=Lucy, 102=Jack, 101=Rose, 100=Eric}
热门文章
优秀文章