A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

GreyH3nTa1

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© GreyH3nTa1 初级黑马   /  2019-4-18 14:00  /  1053 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        Set集合的特点(HashSet对集合的迭代顺序不作任何保证)
        不包含重复的元素
        没有带索引的方法,所以不能使用普通for遍历
        哈希值
是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
Object类中有一个方法可以获取对象的哈希值:
        public int hashCode();
        哈希值的特点:
        同一个对象多次调用hashCode方法返回的哈希值是相同的
        默认情况下,不同对象的哈希值是不相同的
        通过方法重写,可以实现不同对象的哈希值是相同的
        HashSet不能存储重复元素理论:
        当存储元素时,会首先调用其hashCode方法,会根据hashCode方法去判断到底应该存储在数组上的那个位置上,如果这个位置上没有元素,那么直接存储,如果有元素,则进行equals方法比较,如果equals比较结果相同,就不存储,如果不同则挂在数组上
        Hash冲突
        指的是不同的hashCode值所对应的元素索引在数组中一样
        hash冲突算法:就是为了解决hash冲突

        LinkedHashSet集合
        特点:有序,不可重复

        TreeSet集合
        特点:
        元素有序,这里的顺序不是指存储和取出的顺序,二十按照一定的规则进行排序,句体排序方式取决于构造方法
TreeSet():根据其元素的自然排序进行排序
TreeSet(Comparator comparator):根据制定的比较器进行排序
        没有带索引的方法,所以不宁使用普通for循环遍历
        由于是Set集合,所以不包含重复元素的集合

1 个回复

倒序浏览
牛啤牛啤,我从没见过这么工整完善的笔记,
6666
大佬大佬
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马