Java源码笔记
文章平均质量分 91
不会Java的我
这个作者很懒,什么都没留下…
展开
-
Map源码解析
Java7 HashMap HashSet 和 HashMap 在 Java 里有着相同的实现,前者仅是对后者进行了一层包装,也就是说 HashSet 里面有一个 HashMap(适配器模式)。 HashMap 实现了 Map 接口,即允许放入 key 为 null 的元素,也允许插入 value 为 null 的元素;除该类未实现同步外,其余跟 Hashtable 大致相同;跟 TreeMap 不同,该容器不保证元素顺序,根据需要该容器可能会对元素重新哈希,元素的顺序也会被重新打散,因此不同时间迭代同一个原创 2022-03-08 11:21:37 · 477 阅读 · 0 评论 -
Collection类
Set: TreeSet: 基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN) HashSet: 基于哈希表实现,支持快速查找,不支持有序性操作。并且失去了元素的插入顺序信息,即:使用 Iterator 遍历 HashSet 得到的结果是不确定的 LinkedHashSet: 具有 HashSet 的查找效率,且内部使用双向链表维护元素的插入顺序 List: ArrayList: 基原创 2022-03-04 18:42:15 · 451 阅读 · 0 评论