博主:丁大洋
package javaapplication4;
import javaapplication4.SinglyList;
import java.util.Scanner;
blic class HashSet<T> {
private SinglyList<T>[] hashbiao;
private static int count=0;
public static final float LOAD_FACTOR=0.75f;
public T[] addArr(){
T[] a = (T[]) new Object[3];
for(int i=0;i<3;i++){
if(i==0)System.out.println("请输入用户姓名:");
else if(i==1)System.out.println("请输入用户电话号码:");
else System.out.println("请输入用户住址:");
Scanner q=new Scanner(System.in);
a[i]=(T) q.nextLine();
}
return a;
}
public void hashSet(int length){
if(length<10)
length=10;
this.hashbiao=new SinglyList[length];
for(int i=0;i<this.hashbiao.length;i++){
this.hashbiao[i]=new SinglyList<T>();//建造单链表
}
}
//插入数组元素
public void inSert (){
this.hashSet(10);
T[] values=this.addArr();
//获得哈希码
int hash = Integer.valueOf ( (String) (values[1]) ) % hashbiao.length;
//得到插入的目标链表
SinglyList singlyList = hashbiao[hash];
//新建一个节点
Node n = new Node<T[]>();
//把这个节点插入到链表中
Node m=singlyList.insertWay(n);
for(int i=0;i<3;i++){
m.data[i] = values[i];
}
System.out.print("数据插入成功");
}
public int hash(T x){ //除留取余数法
int key = Math.abs(x.hashCode());
return key % this.hashbiao.length;
}
public static void main(String[] args){ //主函数
//在这里怎么改才能使用方法inSert();
//求大神解救水火之中,谢谢
}
}