HashMap与HashSet的区别:
第一,HashSet实现的是单列集合的Set集合。所以它没有索引,不能存储重复元素,且存取无序。而HashMap实现的是双列集合的Map集合。
第二,HashMap使用的是key值来计算hashcode,而HashSet使用对象来计算hashcode,所以HashMap存储是键值对的形式存储,不能有重复的键。而是用HashSet存储对象的话,一般需要重写hashcode()和equals()方法,HashSet使用成员对象来计算hashcode值,对于两个对象来说hashcode可能相同,所以equals()方法用来判断对象的相等性,如果两个对象不同的话,那么返回false。
第三,HashMap相比较HashSet较快,因为它是使用唯一的键来获取对象。
HashSet与TreeSet的区别:
不同点:
1.HashSet是无序de,而TreeSet底层有按照自然顺序排列的构建,所以TreeSet保存的数据是有序的,按照自然顺序存储。
2.TreeSet因为要进行自然排序,所以实现了Comparable接口,而TreeSet正是使用Comparable接口里的compareTo()方法来比较存储的对象大小关系。
3.HashSet实现类比较存储对象关系的话,是需要使用重写的hashcode()和equals()方法来实现。
4.HashSet底层使用的是hashtable来存储,而TreeSet底层使用的是红黑树来存储数据。
5.HashSet允许存储元素为null,但是只能放入一个null,而TreeSet不允许存储元素为null。
java-集合之HashMap与HashSet与TreeMap分析
最新推荐文章于 2023-09-12 11:00:12 发布
本文深入解析了HashMap, HashSet和TreeSet三种集合类的特点与区别,包括它们的存储方式、数据排序、元素唯一性及性能差异。通过对比,帮助读者理解何时选用哪种集合类更合适。
1069

被折叠的 条评论
为什么被折叠?



