黑马程序员技术交流社区

标题: hashSet [打印本页]

作者: 董将    时间: 2012-12-19 21:55
标题: hashSet
import java.util.*;

/*
|--Set:它对元素的存取是无序的。不可以存入重复元素。
                |--HashSet:底层数据结构是哈希表。对于判断该集合元素是否重复,
                                        通过hashCode方法,equals方法方法来保证元素的唯一性。
                                        先会判断两个对象hashCode值,只有哈希值相同的情况下,才会判断equals方法。
                                        不同步的。
                                       
               
*/
class  HashSetDemo
{
        public static void main(String[] args)
        {
                HashSet hs = new HashSet();

               
                hs.add(new Student("zhangsan",30));
                hs.add(new Student("lisi",34));
                hs.add(new Student("wangwu",22));
                hs.add(new Student("zhaoliu",32));
                hs.add(new Student("zhangsan",30));


                Iterator it = hs.iterator();

                while(it.hasNext())
                {
                        System.out.println(it.next());
                }
               
        }
}

class Student
{
        private String name;
        private int age;
        Student(String name,int age)
        {
                this.name = name;
                this.age = age;
        }
        /*public int hashCode()
        {
                System.out.println(this+"----hashCode");
                return this.name.hashCode()+age*38;
                //return 1;
        }
        public boolean equals(Object obj)
        {
                System.out.println(this+"----equals");
                Student s = (Student)obj;
                /*
                if(this.name.equals(s.name) && this.age==s.age))
                        return true;
                return false;
                */
                /*return this.name.equals(s.name) && this.age==s.age;
        }
        public String toString()
        {
                return name+":"+age;
        }
        */
}

作者: 许庭洲    时间: 2012-12-20 07:36
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2