您的位置:首页 > 编程语言 > Java开发

Java集合框架学习(十一) Hashtable详解

2018-02-03 11:24 302 查看

Hashtable介绍

1. 继承自Dictionary;

2. 线程安全;

3. 支持Iterator和Enumeration;

4. key和value都不可为null;

5. 一般用于多线程环境中。

类定义

public class Hashtable<K,V>
extends Dictionary<K,V>
implements Map<K,V>, Cloneable, Serializable


例子介绍

package com.dylan.collection;

import java.util.Enumeration;
import java.util.Hashtable;

/**
* @author xusucheng
* @create 2018-02-03
**/
public class HashtableExample {
public static void main(String[] args) {

Enumeration names;
String key;

// Creating a Hashtable
Hashtable<String, String> hashtable =
new Hashtable<String, String>();

// Adding Key and Value pairs to Hashtable
hashtable.put("Key1","Chaitanya");
hashtable.put("Key2","Ajeet");
hashtable.put("Key3","Peter");
hashtable.put("Key4","Ricky");
hashtable.put("Key5","Mona");

names = hashtable.keys();
while(names.hasMoreElements()) {
key = (String) names.nextElement();
System.out.println("Key: " +key+ " & Value: " +
hashtable.get(key));
}
}
}


使用Iterator迭代HashTable

package com.dylan.collection;

import java.util.Hashtable;
import java.util.Iterator;
import java.util.Set;

/**
* @author xusucheng
* @create 2018-02-03
**/
public class IterateHashtable {
public static void main(String[] args) {

String str;

// Creating a Hashtable instance
Hashtable<String, String> hashtable = new Hashtable<String, String>();

/* Adding key-value pairs to Hashtable
* public V put(K key, V value): Maps the specified key to the
* specified value in this hashtable. Neither the key nor the
* value can be null. The value can be retrieved by calling the
* get method with a key that is equal to the original key.
*/
hashtable.put("A", "Apple");
hashtable.put("B", "Orange");
hashtable.put("C", "Mango");
hashtable.put("D", "Banana");
hashtable.put("E", "Grapes");

System.out.println("Hashtable contains:");

/* public Set<K> keySet(): Returns a Set view of the keys
* contained in this map. The set is backed by the map,
* so changes to the map are reflected in the set, and
* vice-versa.
*/
Set<String> keys = hashtable.keySet();

//Obtaining iterator over set entries
Iterator<String> itr = keys.iterator();

//Displaying Key and value pairs
while (itr.hasNext()) {
// Getting Key
str = itr.next();

/* public V get(Object key): Returns the value to which
* the specified key is mapped, or null if this map
* contains no mapping for the key.
*/
System.out.println("Key: "+str+" & Value: "+hashtable.get(str));
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: