Java集合
文章平均质量分 91
我实在太想进步了
这个作者很懒,什么都没留下…
展开
-
HashMap源码解析
HashMap在Java1.8中是基于数组+链表或数组+红黑树实现的HashMap的默认容量是16,当元素数量达到 阈值(threshold) 时或者是初始化和树化操作时就会出现扩容resize()。阈值(threshold) = 容量(Capacity) * 负载因子( loadFactor 默认是0.75)HashMap的容量是2的幂次方。当指定初始容量时,会调用tableSizeFor将容量调整为大于等于它的最小2的幂。而在后面的扩容操作中,容量每次都是乘2。原创 2024-08-14 16:41:25 · 538 阅读 · 0 评论 -
LinkdedList源码解析
LinkedList实现了List、Deque、Cloneable接口,同时继承了AbstractSequentialList。这个AbstractSequentialList我们不熟,但实现了List,Deque(双端队列)这两个接口就意味着要实现get()set()remove()getFirstpollFirstpollLast等函数。原创 2024-08-09 11:26:34 · 676 阅读 · 0 评论 -
ArrayList源码解析
Splierator是Java8引入的一种新的迭代器,用于并行遍历和分割集合中的元素,ArrayListSplierator是它的实现类trySplit(): 将当前拆分成两个,返回一个新的处理一部分元素,保留原来的处理剩下的部分。这个方法在并行流处理中非常重要,可以实现数据的分治处理。: 如果还有剩余元素,处理当前元素并返回true,否则返回false。这个方法用于顺序处理元素。: 对剩余的每个元素执行给定的操作,直到处理完所有元素或出现错误。这个方法用于处理剩余的所有元素。: 返回中剩余元素的估计大小。原创 2024-08-08 15:40:52 · 987 阅读 · 0 评论