Java HashMap Java 堆 Java 基本树结构 Java HashMap 节点类 class Node { int data; Node next; public Node(int data) { this.data = data; this.next = null; } } 链表 class LinkedList { private Node Head; private int size; public LinkedList() { Head = null; size = 0; } public void insert(int data) { Node temp = Head; Node newnode = new Node(data); size++; if(Head == null) { Head = newnode; } else { newnode.next = Head; Head = newnode; } } public void delete(int data) { if(size == 0) { System.out.println("UnderFlow!"); return; } else { Node curr = Head; if (curr.data == data) { Head = curr.next; size--; return; } else { while(curr.next.next != null) { if(curr.next.data == data){ curr.next = curr.next.next; return; } } System.out.println("Key not Found"); } } } public void display() { Node temp = Head; while(temp != null) { System.out.printf("%d ",temp.data); temp = temp.next; } System.out.println(); } } Java HashMap class HashMap { private int hsize; private LinkedList[] buckets; public HashMap(int hsize) { buckets = new LinkedList[hsize]; for (int i = 0; i < hsize ; i++ ) { buckets[i] = new LinkedList(); // Java requires explicit initialisaton of each object } this.hsize = hsize; } public int hashing(int key) { int hash = key % hsize; if(hash < 0) hash += hsize; return hash; } public void insertHash(int key) { int hash = hashing(key); buckets[hash].insert(key); } public void deleteHash(int key) { int hash = hashing(key); buckets[hash].delete(key); } public void displayHashtable() { for (int i = 0;i < hsize ; i++) { System.out.printf("Bucket %d :",i); buckets[i].display(); } } } 测试类 import java.util.Scanner; public class Main { public static void main(String[] args) { int choice, key; HashMap h = new HashMap(7); while (true) { System.out.println("Enter your Choice :"); System.out.println("1. Add Key"); System.out.println("2. Delete Key"); System.out.println("3. Print Table"); System.out.println("4. Exit"); Scanner In = new Scanner(System.in); choice = In.nextInt(); switch (choice) { case 1: { System.out.println("Enter the Key: "); key = In.nextInt(); h.insertHash(key); break; } case 2: { System.out.println("Enter the Key delete: "); key = In.nextInt(); h.deleteHash(key); break; } case 3: { System.out.println("Print table"); h.displayHashtable(); break; } case 4: { return; } } } } } Java 堆 Java 基本树结构