那么我用LinkedHashSet和用TreeSet应该是一样的吧
时间: 2024-03-30 12:34:31 浏览: 19
使用LinkedHashSet和使用TreeSet可以实现有序存储,但它们的实现原理是不同的。
LinkedHashSet是基于哈希表和双向链表实现的。它与HashSet的区别是,LinkedHashSet中的元素是按照它们被添加到Set中的顺序存储的,同时也利用哈希表来保证元素的唯一性。因此,当你将一组整型数据添加到LinkedHashSet中时,它们会按照添加的顺序存储,而不是按照它们的大小顺序存储。
TreeSet则是基于红黑树实现的,它可以对元素进行自然排序或者指定排序规则进行排序。因此,当你将一组整型数据添加到TreeSet中时,它们会按照指定的排序规则进行排序,而不是按照它们被添加到Set中的顺序存储。
因此,如果你需要按照添加顺序进行存储,可以使用LinkedHashSet;如果需要按照指定的排序规则进行存储,可以使用TreeSet。
相关问题
linkedhashset,hashset和treeset区别
LinkedHashSet、HashSet和TreeSet都是Java中的Set接口的实现类,它们的区别在于底层数据结构和元素的排序方式。
HashSet使用哈希表来存储元素,因此它的元素是无序的,但是它的查询速度非常快。
LinkedHashSet继承自HashSet,底层数据结构是哈希表和链表,它保留了元素插入的顺序,因此它的元素是有序的。
TreeSet使用红黑树来存储元素,它的元素是有序的,且可以自定义排序方式。
总之,如果你需要快速的元素查询,可以使用HashSet;如果你需要保留元素插入的顺序,可以使用LinkedHashSet;如果你需要有序的元素集合,可以使用TreeSet。
linkedhashset和treeset区别
LinkedHashSet和TreeSet是Java中的两个集合类。它们的最大区别在于,LinkedHashSet是基于哈希表实现的,可以保证元素的插入顺序,而TreeSet是基于红黑树实现的,可以对元素进行自然排序或者通过比较器进行排序。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)