⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fig10-21.java

📁 数据结构用java实现的一些源代码
💻 JAVA
字号:
import java.io.*;
import java.util.*;

class Person {
    private String name;
    public int age;
    public Person(String s, int i) {
        name = s; age = i;
    }
    public Person() {
        this("",0);
    }
    public String toString() {
        return "(" + name + "," + age  + ")";
    }
    public boolean equals(Object p) {
        return name.equals(((Person)p).name);
    }
}

class SSN {
    private int value;
    private int hashcode;
    public SSN(int i) {
        value = i;
        hashcode = (value & 0x0000ffff) + (value >>> 16);
    }
    public boolean equals(Object ob) {
        return value == ((SSN)ob).value;
    }
    public int hashCode() {
        return hashcode;
    }
    public String toString() {
        return "" + value;
    }
}

class TestHashtable {
    static void print(Iterator it) {
        if (it.hasNext()) {
            System.out.print(it.next());
            while (it.hasNext())
                System.out.print(", " + it.next());
        }
        System.out.println();
    }
    static void print(Enumeration e) {
        if (e.hasMoreElements()) {
            System.out.print(e.nextElement());
            while (e.hasMoreElements())
                System.out.print(", " + e.nextElement());
        }
        System.out.println();
    }
    public static void main(String[] ar) {
        Hashtable hashtable1 = new Hashtable(4);
        hashtable1.put(new Integer(123456789),new Person("Larry",25));
        hashtable1.put(new Integer(111111111),new Person("Kathy",30));
        System.out.println(hashtable1);
        // {111111111=(Kathy,30), 123456789=(Larry,25)}
        hashtable1.put(new Integer(222222222),new Person("Kathy",20));
        System.out.println(hashtable1);
        // {111111111=(Kathy,30), 222222222=(Kathy,20), 123456789=(Larry,25)}
        print(hashtable1.entrySet().iterator());
        // 111111111=(Kathy,30), 222222222=(Kathy,20), 123456789=(Larry,25)
        print(hashtable1.keySet().iterator());
        // 111111111, 222222222, 123456789
        print(hashtable1.elements());
        // (Kathy,30), (Kathy,20), (Larry,25)
        print(hashtable1.keys());
        // 111111111, 222222222, 123456789
        print(hashtable1.values().iterator());
        // (Kathy,30), (Kathy,20), (Larry,25)
        Iterator it = hashtable1.values().iterator();
        ((Person)it.next()).age = 28;
        System.out.println(hashtable1);
        // {111111111=(Kathy,28), 222222222=(Kathy,20), 123456789=(Larry,25)}
        hashtable1.put(new Integer(111111111),new Person("Jerry",20));
        System.out.println(hashtable1);
        // {111111111=(Jerry,20), 222222222=(Kathy,20), 123456789=(Larry,25)}
        hashtable1.put(new Integer(111111113),new Person("Frank",30));
        System.out.println(hashtable1); 
        // {111111113=(Frank,30), 123456789=(Larry,25), 222222222=(Kathy,20), 111111111=(Jerry,20)}
        System.out.println(hashtable1.get(new Integer(111111111)));    // (Jerry,20)
        System.out.println(hashtable1.contains(new Person("Jerry",20)));      // true
        System.out.println(hashtable1.containsValue(new Person("Jerry",20))); // true
        System.out.println(hashtable1.remove(new Integer(111111111))); // (Jerry,20)
        System.out.println(hashtable1);
        // {111111113=(Frank,30), 123456789=(Larry,25), 222222222=(Kathy,20)}

        Hashtable hashtable2 = new Hashtable();
        hashtable2.put(new SSN(123456789),new Person("Larry",28));
        hashtable2.put(new SSN(111111111),new Person("Kathy",30));
        System.out.println(hashtable2);
        hashtable2.put(new SSN(222222222),new Person("Kathy",20));
        System.out.println(hashtable2);
        hashtable2.put(new SSN(111111111),new Person("Jerry",25));
        System.out.println(hashtable2);
        hashtable2.put(new SSN(111111113),new Person("Frank",30));
        System.out.println(hashtable2);
        // {222222222=(Kathy,20), 111111113=(Frank,30), 111111111=(Jerry,25), 123456789=(Larry,28)}
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -