Map集合基础03-TreeMap
进行总结
1. TreeMap的数据结构是红黑树
- 存取都是根据红黑树的规则进行
https://www.cnblogs.com/perferect/p/13569671.html
2.Comparator比较器有两种
- 通过构造器传入
public TreeMap(Comparator<? super K> comparator) {
this.comparator = comparator;
}
- 第二种,使用的是主键key实现的compare
k.compareTo(t.key);
3.TreeMap是"有序"的
- 因为底层是红黑树,二叉树左子树的值小于根节点小于右子树,所以key是有“顺序”的
- 但是又是无序的,因为和存入的顺序是不同的
4.主键key可以为空?也不可以为空?
能否为空主要取决于比较器
- 使用传入的比较器,要根据比较器的实现可否为空
- 如果是key类所实现的比较器 ?
- put方法中,key为空就会报空指针
if (key == null)
throw new NullPointerException();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南