HashTable 实现了Map 接口 所以它其实就是一个 Map
HashTable 和 HashMap 其实很相似的 不过一个是线程安全的一个是不安全的
所以他们两个的遍历是一样的
主要有下面几种方法
HashTable 和 HashMap 其实很相似的 不过一个是线程安全的一个是不安全的
所以他们两个的遍历是一样的
主要有下面几种方法
第一种方法:
public class HashTableTest {
public static void main(String[] args) {
Map<String, String> hashTable = new Hashtable<String, String>();
hashTable.put("wangliming", "wangliming");
hashTable.put("zhuyun", "zhuyun");
// 下面开始遍历HashTable
// 每一个HashTable就是一个Map
// 每一个map里面其实放的是很多个Entry对象,每一个Entry对象里面又放的是一个Key value对
// 所以要先获取到 Map里面的所有Entry对象 这些entry对象放在了一个Set集合中
Set<Entry<String, String>> entrySet = hashTable.entrySet();
// 遍历Set集合中的每一个Entry对象
Iterator<Entry<String, String>> it = entrySet.iterator();
Entry<String, String> entry;
while (it.hasNext()) {
// 取得entry对象
entry = it.next();
// 取得entry的key 就是map里面的key
System.out.println(entry.getKey());
// 取得entry的value 就是map里面的value
System.out.println(entry.getValue());
}
}
}
第二种方法
public class HashTableTest {
public static void main(String[] args) {
Map<String, String> hashTable = new Hashtable<String, String>();
hashTable.put("wangliming", "wangliming");
hashTable.put("zhuyun", "zhuyun");
// 获取到Map中所有的key ,key被放到了一个set集合中
Set<String> keySet = hashTable.keySet();
// 获取到所有的key集合的 迭代器
Iterator<String> it = keySet.iterator();
while (it.hasNext()) {
// 遍历所有的key 并且获取到各个key
String key = it.next();
System.out.println(key);
// 通过各个key 从 Map中找到对应的value
System.out.println(hashTable.get(key));
}
}
}