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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© PeipsiYin 初级黑马   /  2019-4-11 13:53  /  724 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Set集合概述和特点
Set集合的特点
元素存取无序
没有索引、只能通过迭代器或增强for循环遍历
不能存储重复元素
哈希值简介
​ 是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
如何获取哈希值
​ Object类中的public int hashCode():返回对象的哈希码值
哈希值的特点
同一个对象多次调用hashCode()方法返回的哈希值是相同的
默认情况下,不同对象的哈希值是不同的。而重写hashCode()方法,可以实现让不同对象的哈希值相同
HashSet集合的特点
底层数据结构是哈希表
对集合的迭代顺序不作任何保证,也就是说不保证存储和取出的元素顺序一致
没有带索引的方法,所以不能使用普通for循环遍历
由于是Set集合,所以是不包含重复元素的集合
TreeSet集合概述和特点
TreeSet集合概述
元素有序,可以按照一定的规则进行排序,具体排序方式取决于构造方法
TreeSet():根据其元素的自然排序进行排序
TreeSet(Comparator comparator) :根据指定的比较器进行排序
没有带索引的方法,所以不能使用普通for循环遍历
由于是Set集合,所以不包含重复元素的集合
无参构造方法是通过自己创建对象,按照默认顺序升序排列
        注意:如果我们要排序的是自定义的对象比如Strudent我们要
                在类上去实现Comparable<Student>接口实现compareTO(Student s)方法
第二种是通过有参构造方法来创建对象,指定排序规则我们可以对应去实现comparator接口传入到构造方法参数中指定排序规则,覆盖重写compare(Student o1,Student o2)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马