您的位置首页百科问答

HashSet和TreeSet的区别

两者主要在实现方式、数据是否有序以及是否可以放入null值等三方面存在区别。

一、实现方式

HashSet:HashSet是哈希表中带拦实现的。

TreeSet:TreeSet是二差树实现的。

二、数据是否有序

HashSet:HashSet中的数据是无序的。

TreeSet:Treeset中的数据是自动排好序的。

三、是否可以放入null值

HashSet:可以放入null,但只能放入一个卖胡null。 

TreeSet:不允许放入null值。

HashSet和TreeSet的区别

扩展资料

HashSet是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet的实现比较简单,相行裤关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成,应该为保存到HashSet中的对象覆盖hashCode()和equals()。

1、已知实现接口有:

Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>。

2、直接已知子类:

JobStateReasons, LinkedHashSet。

参考资料来源:百度百科-HashSet