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

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

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

参考答案:

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

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

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

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

相关推荐
SuperEugene几秒前
Vue3 + Element Plus 表格查询规范:条件管理、分页联动 + 避坑,标准化写法|表单与表格规范篇
开发语言·前端·javascript·vue.js·前端框架
小邓睡不饱耶1 分钟前
东方财富网股票数据爬取实战:从接口分析到数据存储
开发语言·爬虫·python·网络爬虫
dapeng28703 分钟前
C++与Docker集成开发
开发语言·c++·算法
2501_945423544 分钟前
C++中的策略模式实战
开发语言·c++·算法
2301_792308256 分钟前
C++与自动驾驶系统
开发语言·c++·算法
tobias.b9 分钟前
计算机基础知识-计算机组成原理
考研·面试·职场和发展
hongtianzai9 分钟前
Laravel8.x核心特性全解析
java·c语言·开发语言·golang·php
2401_8747325311 分钟前
模板编译期排序算法
开发语言·c++·算法
逸Y 仙X12 分钟前
文章十一:ElasticSearch Dynamic Template详解
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
weixin_4219226913 分钟前
C++与Node.js集成
开发语言·c++·算法