`

Hashtable的使用方法介绍

    博客分类:
  • java
阅读更多
1*****************************************************************
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Vector;

@SuppressWarnings("rawtypes")
public class HashTable1 extends Dictionary{  //Dictionary是个什么东东?

	private Vector keys = new Vector();
	private Vector values = new Vector();
	
	@Override
	public Enumeration elements() {
		return values.elements();
	}

	@Override
	public Object get(Object key) {
		 int index = keys.indexOf(key);
		 if(index == -1){
			 return null;
		 }
		return values.elementAt(index);
	}

	@Override
	public boolean isEmpty() {
		return keys.isEmpty();
	}

	@Override
	public Enumeration keys() {
		return keys.elements();
	}

	@SuppressWarnings("unchecked")
	@Override
	public Object put(Object key, Object value) {
		 keys.addElement(key);
		 values.addElement(value);
		 return key;
	}

	@Override
	public Object remove(Object key) {
		 int index = keys.indexOf(key);
		 if(index == -1){
			 return null;
		 }
		 keys.removeElementAt(index);
		 Object returnval = values.elementAt(index);
		 values.removeElementAt(index);
		return returnval;
	}

	@Override
	public int size() {
		return keys.size();
	}

	public static void main(String are[]){
		HashTable1 ht = new HashTable1();
		for(char c = 'a' ;c <= 'z';c++){
			ht.put(String.valueOf(c), String.valueOf(c).toUpperCase());
		}
		char [] ca = {'a','e','i','o','u'};
		for(int i=0;i<ca.length;i++){
			System.out.println("Uppercase: "+ht.get(String.valueOf(ca[i])));
		}
	}
}
//Vector 具有的方法:size() removeElementAt() addElement() elements() get() 
// indexOf() elementAt()   等等


2***********************************************************************
import java.util.Hashtable;

class Counter{
	int i=1;
	public String toString(){
		return Integer.toString(i);
	}
}
public class HashTable2 {
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static void main(String args[]){
		Hashtable ht = new Hashtable();
		for(int i=0;i<1000;i++){
			Integer r = new Integer((int)(Math.random()*20));
			if(ht.containsKey(r)){
				((Counter)ht.get(r)).i++;
			}else{
				ht.put(r, new Counter());
			}
		}
		System.out.println(ht);
	}
}

*******************************************************************
import java.util.*;

public class HashtableTest_1 {
	
	public static void main(String[] args) {
		
		Hashtable<String, String> hh = new Hashtable<String, String>();
		hh.put("a", "name"); // 姓名
		hh.put("b", "age"); // 年龄
		hh.put("c", "address"); // 地址
		hh.put("d", "wage"); // 工资
		
		Enumeration<String> er = hh.keys();//返回此哈希表中的键的枚举
		while (er.hasMoreElements()) {//判断此枚举是否包含更多的元素。
			Object o = er.nextElement();//返回此枚举的下一个元素,也就是key值 
			Object v = hh.get(o); //根据key将	value取出
			System.out.println(o + "=" + v);
		}
		
	}
}
分享到:
评论

相关推荐

    Hashtable的使用

    使用`put()`方法向`Hashtable`中插入键值对: ```java table.put("Key1", 1); table.put("Key2", 2); ``` ### 3. 查找元素 使用`get()`方法根据键查找对应的值: ```java int value = table.get("Key1"); // ...

    WinFormHashTable最简单用法,.net hashtable ,hashtable ,hashtable用法

    下面将详细介绍WinForm中使用Hashtable的基本概念、用法及其优势。 1. **什么是Hashtable** Hashtable是System.Collections命名空间下的一个类,它是基于散列(Hashing)的字典容器,用于存储键值对。散列技术通过...

    hashtable的使用

    通过以上介绍和示例代码,我们可以看到,在.NET Framework中,虽然哈希表默认并不支持排序,但通过一些技巧,如使用`ArrayList`配合哈希表,我们可以方便地实现自定义排序的需求。这种方式不仅能够保持哈希表原有的...

    使用哈希表Hashtable填充ListBox

    本文将详细介绍如何使用`Hashtable`来填充`ListBox`,并探讨相关知识点。 1. 哈希表(HashTable)基础知识: - 哈希表基于哈希函数,通过计算键的哈希值来确定其在表中的位置,实现快速查找。 - `Hashtable`是...

    hashmap与hashtable区别

    这是因为它内部的方法都是同步化的(synchronized),这就意味着在多线程环境中使用`Hashtable`时无需额外的同步处理。 - **HashMap**:默认情况下,`HashMap`是非线程安全的。如果需要在一个多线程环境中使用`...

    HashTable 常用操作

    ### HashTable常用操作详解 ...本文详细介绍了`.NET Framework`中的`Hashtable`类以及如何使用它来进行基本和高级的操作。通过学习这些知识点,开发者可以更好地理解和利用`Hashtable`来优化程序的性能。

    【ASP.NET编程知识】asp.net基于HashTable实现购物车的方法.docx

    本文将详细介绍 ASP.NET 基于 HashTable 实现购物车的方法,包括 HASH TABLE 的应用、购物车的实现、 Session 的使用等。 一、HASH TABLE 的应用 HashTable 是一种基于键值对的数据结构,ASP.NET 中提供了 ...

    在J2ME环境下把JSON解析为Hashtable

    本篇文章将详细介绍如何在J2ME环境下将JSON数据解析为Hashtable。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在上述场景中,服务器通过Web ...

    javascript hashtable 修正版 下载

    从提供的文件内容来看,该文档主要介绍了JavaScript中一种名为"hashtable"的数据结构的修正版,它允许用户在JavaScript环境中使用类似散列表或哈希表的数据结构。以下是根据文件内容总结的知识点: 1. **JavaScript...

    c# asp.net hashtable对Datalist分页

    本篇文章将详细介绍如何利用C#中的Hashtable对象对Datalist进行分页处理。 首先,我们需要理解Datalist是ASP.NET提供的一种数据绑定控件,它可以用来显示列表或网格格式的数据。与GridView相比,Datalist提供了更多...

    Hashtable与ArrayList的简单应用

    本文将详细介绍如何在C#中使用 `Hashtable` 和 `ArrayList` 来处理数据,并通过一个具体的例子来展示这两种数据结构的应用场景。 #### 二、`Hashtable` 详解 ##### 2.1 概念介绍 `Hashtable` 是一个键值对集合,它...

    hashmap和hashtable的区别.docx

    - 相反,Hashtable 是线程安全的,因为它的所有方法都是 synchronized 的,这使得它在多线程环境中可以安全地使用,而无需额外的同步代码。 2. 对 null 的支持: - HashMap 允许键和值为 null,这提供了一定的...

    数组和集合对象(二) Hashtable练习

    二、Hashtable介绍 `Hashtable`是.NET框架中的一个类,它继承自`DictionaryBase`,并实现了`IDictionary`接口。它是一个无序的、不可变的键值对集合,其中键必须实现`Equals`和`GetHashCode`方法以确保唯一性。`...

    哈希表-使用C++实现的哈希表-HashTable.zip

    下面将详细介绍哈希表的工作原理、哈希冲突解决方法以及如何使用C++进行实现。 1. **哈希表工作原理** 哈希表的核心是哈希函数,它将键转化为数组索引。理想的哈希函数能够均匀地分布键值,使得每个键都有可能映射...

    C#使用foreach遍历哈希表(hashtable)的方法

    本文将详细介绍如何使用`foreach`语句遍历C#中的哈希表。 `foreach`循环是C#中一种简洁的遍历集合元素的语法,它可以自动处理迭代器的工作。对于哈希表,我们通常会分别遍历其键(Keys)和值(Values),或者同时...

    C#将HashTable中键列表或值列表复制到一维数组的方法

    然后,我们使用 `CopyTo` 方法将`HashTable`的键和值分别复制到数组中。 1. 复制键(Keys)到一维数组: 使用 `mySourceHT.Keys.CopyTo(myTargetArray, 6);` 这一行代码,我们将`HashTable`的所有键复制到了数组 `...

    C#中遍历Hashtable的4种方法

    以下将详细介绍四种在C#中遍历`Hashtable`的方法。 1. **遍历哈希表中的键**: 使用`foreach`循环遍历`Hashtable`的`Keys`集合,可以获取到所有的键,并通过键来访问对应的值。示例代码如下: ```csharp foreach...

    在C#中应用哈希表(Hashtable)

    使用此方法可以删除指定键对应的键值对。如果键不存在,则该方法不会抛出异常,也不会执行任何操作。 3. **清空哈希表**: ```csharp HashtableObject.Clear(); ``` 此方法用于清空整个哈希表中的所有键值对,...

    JAVASCRIPT HashTable

    本篇介绍了如何在JavaScript中实现一个简单的哈希表。通过这个简单的例子,我们不仅可以了解哈希表的基本工作原理,还能掌握在实际开发中如何利用哈希表提高程序效率。值得注意的是,这里的实现并未涉及哈希冲突处理...

    C#中哈希表(Hashtable)的介绍及简单用法

    在.NET Framework的Hashtable类中,键和值都是Object类型,这意味着你可以存储任何类型的对象,只要它们可以相互转换,并且键必须实现GetHashCode()和Equals()方法,以供哈希表进行正确的哈希计算和比较。...

Global site tag (gtag.js) - Google Analytics