1. 程式人生 > >雜湊表的儲存自定義物件

雜湊表的儲存自定義物件

雜湊表的儲存自定義物件

 /*
      *  HashSet集合的自身特點:
      *    底層資料結構,雜湊表
      *    儲存,取出都比較快
      *    執行緒不安全,執行速度快
      */
     public class HashSetDemo1 {
      public static void main(String[] args) {
        
        //將Person物件中的姓名,年齡,相同資料,看作同一個物件
        //判斷物件是否重複,依賴物件自己的方法 hashCode,equals
        HashSet<Person> setPerson = new HashSet<Person>();
        setPerson.add(new Person("a",11));
        setPerson.add(new Person("b",10));
        setPerson.add(new Person("b",10));
        setPerson.add(new Person("c",25));
        setPerson.add(new Person("d",19));
        setPerson.add(new Person("e",17));//每個物件的地址值都不同,呼叫Obejct類的hashCode方法返回不同雜湊值,直接存入
        System.out.println(setPerson);
      }
     }
    
    public class Person {
      private String name;
      private int age;
      
      public String getName() {
        return name;
      }
      public void setName(String name) {
        this.name = name;
      }
      public int getAge() {
        return age;
      }
      public void setAge(int age) {
        this.age = age;
      }
      public Person(String name, int age) {
        super();
        this.name = name;
        this.age = age;
      }
      public Person(){}
      
      public String toString(){
        return name+".."+age;
      }
      }