java复习之hash表的实现

散列表的实现java版

package learn;

import java.util.Arrays;

public class HashTab {
    public static void main(String[] args) {
        HashT hashT = new HashT(8);
        hashT.add(new Emp(12,"张三"));
        hashT.add(new Emp(7,"李四"));
        hashT.add(new Emp(8,"王五"));
        hashT.add(new Emp(16,"王六"));
        hashT.list();
//        System.out.println(hashT);

    }
}
class Emp{
    public int id;
    public String name;
    public Emp next;

    public Emp(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Emp{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", next=" + next +
                '}';
    }
}
class LinklistDemo{
    private Emp head;

    public void add(Emp emp){
        if(head==null){
            head=emp;
        }else {
            Emp emp1=head;
            while (emp1.next!=null){

                emp1=emp1.next;
            }
            emp1.next=emp;
        }
    }
    public void list(){
        if(head==null){
            System.out.println("链表为空!");
            return;
        }else {
            Emp emp = head;
            while (emp.next!=null){
                System.out.println(emp);
                emp=emp.next;
            }
            System.out.println(emp);
        }


    }

    @Override
    public String toString() {
        return "LinklistDemo{" +
                "head=" + head +
                '}';
    }
}
class HashT{
    private int size;
    private LinklistDemo[] link;
    public HashT(int size) {
        this.size = size;
        link = new LinklistDemo[size];
        for(int i=0;i

你可能感兴趣的:(数据结构,笔记,java复习)