HashSet和TreeSet 分别实现对象的排序操作
来源:互联网 发布:wish数据分析平台 编辑:程序博客网 时间:2024/04/30 04:05
一、首先要明确Set子接口与list子接口的不同,那就是list子接口是可以保存重复的数据的,而Set子接口是不能保存重复的数据的。
利用HashSet和TreeSet两个子类来实现Set接口的功能。
1、HashSet与TreeSet接口的一点不同,HashSet 保存的数据是无序的,TreeSet保存的数据是有序的,所以如果要想保存的数据有序应该使用TreeSet子类。
2、利用TreeSet保存自定义类对象的时候,自定义所在的类一定要实现Comparable接口,如果没有实现这个接口那么就无法区分大小关系,而且在TreeSet中如果要进行排序,那么就要将所有的字段都进行比较,就是说在TreeSet中是依靠comparato()方法返回的是不是0来判断是不是重复元素的。
3、如果是HashSet子类,那么其判断重复数据的方式不是依靠的comparable接口而是Object类之中的两个方法:(1)取得对象的哈希码 hashCode();(2)对象比较:equals(); 这俩个方法均不需要自己编写,在eclipse里面可以使用右键source 选择自动生成。就像生成Getter 和Setter 方法一样。
总结:TreeSet 依靠的是Comparable 来区分重复数据;
HashSet 依靠的是hashCode()、equals()来区分重复数据
Set 里面不允许保存重复数据。
0 0
- HashSet和TreeSet 分别实现对象的排序操作
- HashSet和 TreeSet实现的不同
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- set的hashset和treeSet
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的分析
- hashset和treeset的比较
- HashSet,和TreeSet的区别
- HashSet 和 TreeSet 的区别
- HashSet和TreeSet的区别
- TreeSet和HashSet的问题
- HashSet和TreeSet的比较
- 1008. Airline Routes (35)
- c的经典算法
- 自己动手实现Java注解(Java Annotation in Action)
- 2015-12-21,我在csdn的第一篇博客
- 235. Lowest Common Ancestor of a Binary Search Tree
- HashSet和TreeSet 分别实现对象的排序操作
- 【Unity】Log文件
- 10030---CSS 属性选择器
- 选择排序
- cocos2d+sublime text2配置lua开发环境
- Ubuntu语言无法切换中文问题
- java反射获得泛型参数GETGENERICSUPERCLASS()
- linux下使用vi编辑器简单介绍
- 行为树随笔