17Worker&Adress

来源:互联网 发布:网络拓扑结构图 编辑:程序博客网 时间:2024/05/18 09:03
import java.util.*;

class Worker {
    private String name;
    private int age;
    private double salary;
    private Adress adress;

    Worker(String name, int age, double salary, Adress adress) {
        this.name = name;
        this.age = age;
        this.salary = salary;
        this.adress = adress;

    }

    public String getName() {
        return name;
    }

    public Adress getAdress() {

        return adress;
    }

    public int hashCode() {

        return name.hashCode() + age + (int) salary;
    }

    public boolean equals(Object o) {
        if (!(o instanceof Worker)) {
            return false;
        }
        if (o == null) {
            return false;
        }
        Worker w = (Worker) o;
        return this.name.equals(w.name) && this.age == w.age
                && this.salary == w.salary && this.adress == w.adress;

    }
}

class Adress {
    private String adressName, zipCode;

    public void setAdressName(String adressName) {
        this.adressName = adressName;
    }

    public String getAdressName() {
        return adressName;
    }

    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;

    }

    public String getZipCode() {

        return zipCode;
    }
}

public class D4 {
    public static void main(String args[]) {
        Set<Worker> set = new HashSet<Worker>();
        Adress ad1 = new Adress();
        ad1.setAdressName("Japan");
        ad1.setZipCode("100");
        Adress ad2 = new Adress();
        ad1.setAdressName("China");
        ad2.setZipCode("200");
        Adress ad3 = new Adress();
        ad1.setAdressName("America");
        ad3.setZipCode("300");
        Worker w1 = new Worker("Lucy", 12, 2000, ad1);

        Worker w2 = new Worker("Nancy", 13, 2000, ad2);
        Worker w3 = new Worker("Ucy", 14, 2000, ad3);
        Worker w4 = new Worker("Ucy", 14, 2000, ad3);
        Worker w5 = new Worker("Nancy", 14, 2000, ad3);
        set.add(w1);
        set.add(w2);
        set.add(w3);
        set.add(w4);
        set.add(w5);
        for (Iterator<Worker> it = set.iterator(); it.hasNext();)

            System.out.println(it.next().getAdress().getZipCode());

    }
}