![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码
文章平均质量分 72
时遇倾城色
岁月静好,安然若素
展开
-
浅谈HashMap源码
参考链接 HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,在计算哈键的哈希值时,null 键哈希值为 0。HashMap 并不保证键值对的顺序,这意味着在进行某些操作后,键值对的顺序可能会发生变化。另外,需要注意的是,HashMap 是非线程安全类,在多线程环境下可能会存在问题。 本篇文章主要将会对 HashMap 中常用方法、重要属性及相关方法进行分析。 二、原理 HashMap 底层是基于散列算法实现,散列算法分为散列再探测和拉链转载 2021-01-30 20:55:38 · 260 阅读 · 0 评论 -
浅谈ArrayList扩容机制
ArrayList是List接口的实现类,它是支持根据需要而动态增长的数组。java中标准数组是定长的,在数组被创建之后,它们不能被加长或缩短。这就意味着在创建数组时需要知道数组的所需长度,但有时我们需要动态程序中获取数组长度。ArrayList就是为此而生的。 因此,了解它的扩容机制对使用它尤为重要。 首先了解ArrayList的几个成员变量 //默认的初始容量 private static final int DEFAULT_CAPACITY = 10; //定义一个空的数组实例以供其他需要用到空数组转载 2021-01-28 12:07:21 · 1310 阅读 · 1 评论 -
String equals源码
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { char v1[原创 2021-01-28 10:44:24 · 124 阅读 · 0 评论