【Java集合类面试二十八】、说一说TreeSet和HashSet的区别

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。

面试官:说一说TreeSet和HashSet的区别

参考答案:

HashSet、TreeSet中的元素都是不能重复的,并且它们都是线程不安全的,二者的区别是:

1、HashSet中的元素可以是null,但TreeSet中的元素不能是null;

2、HashSet不能保证元素的排列顺序,而TreeSet支持自然排序、定制排序两种排序的方式;

3、HashSet底层是采用哈希表实现的,而TreeSet底层是采用红黑树实现的。

相关推荐
spencer_tseng1 分钟前
springcloud + javaframework + h5
java·spring·spring cloud
_w_z_j_4 分钟前
Linux----线程互斥与同步
linux·运维·开发语言
云栖梦泽6 分钟前
易语言网络编程基础:构建网络版应用
开发语言
LYFlied23 分钟前
【每日算法】LeetCode 78. 子集
数据结构·算法·leetcode·面试·职场和发展
月明长歌27 分钟前
【码道初阶】【Leetcode606】二叉树转字符串:前序遍历 + 括号精简规则,一次递归搞定
java·数据结构·算法·leetcode·二叉树
原来是好奇心28 分钟前
深入Spring Boot源码(八):高级特性与扩展点深度解析
java·源码·springboot
oioihoii32 分钟前
C++共享内存小白入门指南
java·c++·算法
布茹 ei ai33 分钟前
QtWeatherApp - 简单天气预报软件(C++ Qt6)(附源码)
开发语言·c++·qt·开源·开源项目·天气预报
Wpa.wk35 分钟前
自动化测试 - 文件上传 和 弹窗处理
开发语言·javascript·自动化测试·经验分享·爬虫·python·selenium
LinHenrY122736 分钟前
初识C语言(编译和链接)
c语言·开发语言·蓝桥杯