自己参考jdk和hashSet写的hashTable(JAVA实现)
2010-07-30 16:11
495 查看
自己写的,哈哈,只有SET和PUT,没有做设置初始化筒数目和自增长,呵呵,做着完的,还不错,哈哈(转贴请注明来字阿飞这,呵呵)
package javaHASH; import java.util.Hashtable; class Node2 { Node2 next; Object valueObject; Object keyObject; public Node2() { } } public class MyHashTable { int hashTbSize= 6; Node2[] hashNodes= new Node2[hashTbSize]; public Object put(Object key,Object value) { int index = key.hashCode()%hashTbSize; for (Node2 tempNode2 = hashNodes[index]; tempNode2!=null ; tempNode2= tempNode2.next) { if (tempNode2.hashCode() == key.hashCode() && (tempNode2.equals(key))) { //完全一样。。。覆盖吧。。。 Object oldValue = tempNode2.valueObject; tempNode2.valueObject = value; return oldValue; } } Node2 newNode2 = new Node2(); newNode2.keyObject = key; newNode2.valueObject = value; newNode2.next = hashNodes[index]; hashNodes[index] = newNode2; return value; } public Object get(Object key) { int index = key.hashCode()%hashTbSize; for (Node2 tempNode2 = hashNodes[index]; tempNode2 != null; tempNode2 = tempNode2.next) { if (tempNode2.keyObject.equals(key)) { return tempNode2.valueObject; } } return null; } public static void main(String args[]) { MyHashTable aHashtable = new MyHashTable(); aHashtable.put("a","aa"); aHashtable.put("t","ab"); System.out.println((String)(aHashtable.get("t"))); } }
相关文章推荐
- 模拟JDK动态代理 ; 自己动手模拟实现java动态代理
- Java之HashMap底层实现原理/HashMap、HashTable、HashSet
- JDK学习---深入理解java中的HashMap、HashSet底层实现
- Java高并发程序-Chapter3 JDK并发包(第十四讲)同步控制之自己动手实现 CoutDownLatch
- Java JDK动态代理实现自己的事务管理器
- 【java集合】自己实现简易的Hashtable
- Java集合源码实现五:HashSet(jdk1.8)
- 【java集合】自己实现简易的HashSet
- JDK1.5/1.6/1.7/1.8 java.util下的集合类底层实现的变化
- Java容器深入浅出之Map、HashMap、Hashtable及其它实现类
- Android经服务器授权登陆并将图片Post到自己服务器的简单小Demo(Java+servlet实现)
- 这学期就要结束了,将我的程序上传来供大家学习参考吧!加油啦!批处理作业调度java实现
- Java冒泡法排序参考实现
- Java动态代理-JDK自带实现
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习
- Java多线程之-----实现自己的ThreadFactory
- Java实现自己的Servlet服务器
- Java数据结构与算法之数据结构-逻辑结构-集合(七)------集合之Set接口和HashSet和TreeSet、LinkedHashSet实现类总结
- Java 一个简单Hashtable的实现
- java容器源码分析--HashSet(JDK1.8)