java学习第28课

Java 第二十八课自学心得
暑期自学来到第二十八课,本节课学习 TreeMap,同时梳理常用 Map 实现类之间的区别。
TreeMap 属于 Map 接口的实现类,底层使用红黑树结构。和 HashMap 最大区别是,TreeMap 会按照 key 自动排序。如果 key 是自定义对象,要么实现 Comparable 接口,要么构造集合时传入比较器 Comparator,否则运行时报错。key 同样不能重复,出现重复键时新值覆盖旧值。
我对比了三种常用 Map:HashMap 存取无序,查询速度快,日常开发最常用;LinkedHashMap 可以保留存入顺序;TreeMap 根据键进行排序,适合需要有序展示数据的场景。
练习时遇到一些问题,经常搞混 TreeSet 和 TreeMap 的排序要求,两者对自定义类型都需要提供比较规则。有时候分不清什么时候该用 HashMap,什么时候选用 TreeMap,容易盲目选择。另外 TreeMap 增删速度比不上 HashMap,不能一味追求排序就优先使用它。
简单总结选用原则:不需要顺序,优先 HashMap;需要保留添加顺序选 LinkedHashMap;需要根据键自动排序,再考虑 TreeMap。

posted @ 2026-08-18 21:47  梁煜昊  阅读(10)  评论(0)    收藏  举报