黑马程序员技术交流社区

标题: HashSet [打印本页]

作者: 聪明一只哈    时间: 2016-5-24 00:26
标题: HashSet
1.HashSet 存储字符串并遍历
                a. HashSet 集合特点
                        没有索引,存取顺序不一致,元素唯一
                        遍历和List集合差不多,可以使用增强 for 循环
        2.HashSet是如何保证元素的唯一性的?
                低层调用存入对象的hashcode()和equals()                               
                原理:(想像拿着火车票找座位)
                        向HashSet集合存入对象时,对象会调用hashCode方法(获取座位号)
                        然后去集合(车厢)中找有没有和我hashCode值(座位号)相同的对象
                        没有:
                                直接存入HashSet集合
                        有:
                                说明哈希值(座位号相同)相同,此时会去调用存入的对象的equlas方法去比较
                                与哈希值相同的对象逐个(可能之前已经有人坐他身上了)比较
                返回true:
                                        认为相同对象,不在存入集合
                返回false:
                                        存入集合(坐到和他座位号相等的那个人身上)






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