Structure.Hash(通过数组和链表实现一个简单的Hash)

来源:互联网 发布:软件测试阶段 编辑:程序博客网 时间:2024/05/28 16:15
package Structure.Hash;import java.util.Iterator;import java.util.Vector;import java.util.LinkedList;/*Author: CPlusPlus小码农 *If any question,  *Please contact:            * http://daixiecplusplus.blog.163.com/ * QQ:1926742804 */public class Hash {private Vector< LinkedList<String> > data_;public final static int CHARTOINTER = 65;public final static int CHARECTER_SIZE = 26;public Hash(){data_ = new Vector< LinkedList<String> >(CHARECTER_SIZE);for(int i = 0 ; i < CHARECTER_SIZE;++i){data_.add(new LinkedList<String>());}}public void Add(String value){char first = value.charAt(0);int num = first-CHARTOINTER;data_.get(num).add(value);}public boolean Find(String s){char first = s.charAt(0);int num = first-CHARTOINTER;LinkedList<String> list = data_.get(num);Iterator<String> it = list.iterator();while(it.hasNext()){if(it.next().equals(s)) return true;}return false;}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubHash hs = new Hash();hs.Add("GA");hs.Add("D");hs.Add("G");hs.Add("L");hs.Add("A");hs.Add("A1");hs.Add("A3");hs.Add("A4");hs.Add("Z");hs.Add("ZA");System.out.println();System.out.println(hs.Find("WC"));System.out.println(hs.Find("D"));}}

0 0