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

📄 fig10-17.java

📁 数据结构java源码
💻 JAVA
字号:
import java.io.*;
import java.util.HashMap;

class Person {
    private String name;
    public int age;
    private int hashcode = 0;
    public Person(String n, int a) {
        name = n; age = a;
        for (int i = 0; i < name.length(); i++)
            hashcode += name.charAt(i);
    }
    public Person() {
        this("",0);
    }
    public boolean equals(Object p) {
        return name.equals(((Person)p).name);
    }
    public int hashCode() {
        return hashcode;
    }
    public String toString() {
        return "(" + name + "," + age + ")";
    }
}

class TestHashMap {
    public static void main(String[] a) {
        HashMap cities = new HashMap();
        cities.put(new Person("Gregg",25),"Pittsburgh");
        cities.put(new Person("Ann",30),"Boston");
        cities.put(new Person("Bill",20),"Belmont");
        System.out.println(cities);
        // {(Ann,30)=Boston, (Gregg,25)=Pittsburgh, (Bill,20)=Belmont}
        cities.put(new Person("Gregg",30),"Austin");
        System.out.println(cities);
        // {(Ann,30)=Boston, (Gregg,25)=Austin, (Bill,20)=Belmont}
        System.out.println(cities.containsKey(new Person("Ann",30)));// true
        System.out.println(cities.containsValue("Boston"));          // true
        System.out.println(cities.size());                           // 3
        System.out.println(cities.get(new Person("Ann",30)));        // Boston
        System.out.println(cities.entrySet()); 
        // [(Ann,30)=Boston, (Gregg,25)=Austin, (Bill,20)=Belmont]
        System.out.println(cities.values()); 
        // [Boston, Austin, Belmont]
        System.out.println(cities.keySet()); 
        // [(Ann,30), (Gregg,25), (Bill,20)]
        System.out.println(cities.remove(new Person("Bill",20)));    // Belmont
        System.out.println(cities); 
        // [(Ann,30), (Gregg,25)]
        cities.put(null,"Nashville");
        cities.put(new Person("Kay",44),null);
        System.out.println(cities); 
        // [(Ann,30)=Boston, (Gregg,25)=Austin, (Kay,44)=null, null=Nashville]
        System.out.println(cities.get(new Person("Kay",44)));          // null
        System.out.println(cities.get(new Person("Stan",55)));         // null
        System.out.println(cities.containsKey(new Person("Kay",44)));  // true
        System.out.println(cities.containsKey(new Person("Stan",55))); // false
    }
}

⌨️ 快捷键说明

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