集合框架set
2019-05-22 18:43
375 查看
集合框架set
Hashset
元素是无序(存入和取出的顺序不一定一致),元素不可以重复;
HashSet哈希表存储 底层数据结构是哈希表
HashSet存入重复元素
同姓名同年龄视为同一个人 ,重复元素 , 从代码上看,equals方法没有被调用
是因为HashSet集合存储是先调用hashCode方法,这里我们将hashCode方法重写一下看看
HashSet是如何保证元素唯一性的呢?
是通过元素的两个方法:hashCode与equals方法来完成; 如果hashCode值相同,才会判断equals是否为true; 如果hashCode值不同,那么不会调用equals。 注意:对于判断元素是否存在,以及删除等操作,依赖的方法同样是hashCode、equals方法。 List与Set判断重复对象的区别? List只依赖于equals方法 Set依赖于hashCode、equals方法
TreeSet
TreeSet自然排序
TreeSet可以对set集合中元素进行排序
String实现了Comparable接口,所以可以直接进行排序
引用数据类型想要排序,必须实现Comparable接口
TreeSet比较器排序
TreeSet排序的第二种方式
当元素自身不具备比较性时,或者具备的比较性不是所需要的; 注意:这时需要让集合自身具备比较性 在集合初始化时,就有了比较方式; 定义一个类,实现comparator接口,实现compare方法 当两种排序都存在时,比较器排序优先级更高 因此比较器用的多一些,在实际开发中,很多时候,引用数据类型是否具有比较性,或者比较规则,可能不由开发人员自己决定, 那么开发人员想要对应的引用数据类型按照自己的排序方式进行排列,那么就需要实现comparator接口,实现compare方法
相关文章推荐
- 【IOS 开发学习总结-OC-30】★★OC之foundation 框架——集合(NSSet 与 NSMutableSet)
- Java常见集合框架(十):Set之TreeSet、HashSet
- Java—集合框架Set
- 黑马程序员——JAVA笔记——集合框架2——Set
- java毕向东听课笔记24(集合框架-Set集合HashSet)
- 黑马程序员_JavaSE基础17 之 集合框架 Vector LinkedList ArrayList HashSet LinkedHasSet TreeSet
- 集合框架__【Set集合】【HashSet】【TreeSet】
- 他山之石____集合框架__【List,Set,Map之间的区别】
- 集合框架和泛型-Collection-set
- Java-集合框架Collection之Set(一)
- java基础/集合框架/set/hasset/linkHasset/TreeSet/
- 集合框架——Set(HashSet)
- 黑马程序员_Java第14天知识总结_集合类(集合框架)_Collection_迭代器_List_Set_HashSet
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
- Java基础-集合框架之Set
- 集合框架(Set)
- 黑马程序员__集合框架(List,Set)
- 集合框架Set
- Java 集合框架Example-Set