java源码学习专栏
自己学习java源码,有错误之处欢迎大家批评指针
小钟学不会java
这个作者很懒,什么都没留下…
展开
-
Java中对Map进行排序
以0904华为笔试的第一题为例,最后的map是Map 形式存在的,排序要求是首先对用value从大到小进行排序,当value相同时,使用key从大到小进行排序。最后输出排序后的key值集合。在力扣刷题的过程中,一些题目常常需要使用Map来进行存储,经过一系列的处理以后还需要对map中的数据进行排序,便于输出结果。然后对集合entries进行排序,方法一使用匿名内部类进行排序。首先将map转换为Map.Entry的集合。本笔记主要是记录如何对map进行排序。原创 2024-09-05 11:04:02 · 159 阅读 · 1 评论 -
ArrayList中add方法源码分析
总体流程是:先判断加入一个元素以后是否需要扩容(这个内部会判断是不是默认空数组,如果是则给初始容量设置为默认容量,一般为10),再给数组赋值,size指针+1.进入calculateCapacity方法判断是否没有是默认空数组,如果是默认空数组,则返回默认容量和当前容量的最大值。进入ensureCapacityInternal方法判断是否需要扩容。首先保存原容量,新容量 = 1.5倍原容量,再将原数组复制到新的数组中。拿到容量以后,再进入ensureExplicitCapacity方法。原创 2024-08-13 21:14:49 · 219 阅读 · 0 评论