`

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);
		}
		
	}
}
分享到:
评论

相关推荐

    java使用Hashtable过滤数组中重复值的方法

    主要介绍了java使用Hashtable过滤数组中重复值的方法,涉及java数组遍历及过滤的相关技巧,需要的朋友可以参考下

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

    主要介绍了C#使用foreach遍历哈希表(hashtable)的方法,是C#中foreach语句遍历散列表的典型应用,非常具有实用价值,需要的朋友可以参考下

    HashMap 和 Hashtable的区别

    本文主要介绍HashMap 和 Hashtable的区别,这里整理了相关资料并详细介绍了HashMap 和 Hashtable的区别及其工作原理和使用方法,有需要的朋友可以看一下

    C#将hashtable值转换到数组中的方法

    主要介绍了C#将hashtable值转换到数组中的方法,涉及C#中CopyTo方法的使用技巧,非常具有实用价值,需要的朋友可以参考下

    asp.net基于HashTable实现购物车的方法

    主要介绍了asp.net基于HashTable实现购物车的方法,涉及asp.net中HashTable结合session实现购物车功能的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

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

    主要介绍了C#将HashTable中键列表或值列表复制到一维数组中方法,涉及C#操作HashTable的相关技巧,需要的朋友可以参考下

    C#中遍历Hashtable的4种方法

    主要介绍了C#中遍历Hashtable的4种方法,本文直接给出实例代码,需要的朋友可以参考下

    Java容器HashMap与HashTable详解

    本文主要介绍HashMap 和 Hashtable的工作原理和使用方法,有兴趣的朋友可以参考

    C#常见的几种集合 ArrayList,Hashtable,List&lt;T&gt;,Dictionary&lt;K,V&gt; 遍历方法对比

    本文对C#中常见集合ArrayList,Hashtable,List,Dictionary遍历方法做了简单的对比和介绍,有需要的朋友可以参考一下。

    C#常见的几种集合 ArrayList,Hashtable,ListT,DictionaryK,V 遍历方法对比

    一、先来分别介绍一下ArrayList,Hashtable,List,Dictionary 1.ArrayList动态数组,保存值的时候比较好用 2.Hashtable以存储键值对的方式存储。value,和key 3.List&lt;T&gt; 和 Dictionary&lt;K&gt; 应该是泛型吧,可以保存...

    Java理论与实践:并发集合类

    本文介绍了在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK 1.0的一部分。Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的―― Hashtable...

    JAVA面试题最全集

    被声明为final的方法也同样只能使用,不能重载 finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 ...

    asp.net教程 ASP.NET 参考手册

    本文讲解使用 DataList 控件把数据绑定到 XML 文件。 ASP.NET Database ASP.NET 数据库连接 本章介绍 ADO.NET 以及连接到数据库。 ASP.NET 2.0 ASP.NET 2.0 新特性 本节介绍 ASP.NET 2.0 中的新特性。 ASP.NET ...

    Java进阶教程,面试大全,包罗万象

    synchronized在静态方法和普通方法的区别。 怎么实现所有线程在等待某个事件的发生才会去执行。 CAS。 Hashtable是怎么加锁的。 HashMap的并发问题。 ConcurrenHashMap 介绍。 AQS。 如何检测死锁,怎么预防死锁。 ...

    Java进阶教程,面试大全

    synchronized在静态方法和普通方法的区别。 怎么实现所有线程在等待某个事件的发生才会去执行。 CAS。 Hashtable是怎么加锁的。 HashMap的并发问题。 ConcurrenHashMap 介绍。 AQS。 如何检测死锁,怎么预防死锁。 ...

    数据结构与算法:语言描述(中英文)

    本章结尾处介绍了衡量书中讨论的数据结构与算法性能的方法。 第2章提供了数组构造方法的回顾,并连同示例说明了Array类的特征。Array类把许多与数组相关的函数(UBound函数、LBound函数等等)封装到单独一个包中。...

    SQLHelper.cs

    此方法通过将连接字符串和命令文本连接起来创建一个键,然后将参数数组存储在 Hashtable 中。 要从缓存中检索参数,请使用 GetCachedParameterSet 方法。此方法将返回一个 SqlParameter 对象数组,这些对象已使用...

    .net数据访问类 SQL Helper 类

    什么时候应该使用 ExecuteDataset 方法,什么时候应该使用 ExecuteReader 方法? 这个问题实际上是什么时候应该返回 DataSet 对象中的多个数据行,什么时候应该使用 DataReader。答案取决于您的应用程序的特定需要,...

    java面试宝典

    21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 10 22、我们在web 应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,...

    (超赞)JAVA精华之--深入JAVA API

    3.1 Log4j基本使用方法 3.2 Dom4j 使用简介 3.3 Java 语言的 XML 验证 API 3.4 hibernate的hello word 3.5 JavaMail(JAVA邮件服务)API详解 3.6 jxl.jar 包简介 3.7 Java与XML联合编程之SAX篇 3.8 Java与XML联合...

Global site tag (gtag.js) - Google Analytics