返回介绍

4.2 LruCache 的唯一构造方法

发布于 2024-12-23 21:09:29 字数 675 浏览 0 评论 0 收藏 0

/**
 * LruCache 的构造方法:需要传入最大缓存个数
 */
public LruCache(int maxSize) {

  ...

  this.maxSize = maxSize;
  /*
   * 初始化 LinkedHashMap
   * 第一个参数:initialCapacity,初始大小
   * 第二个参数:loadFactor,负载因子=0.75f
   * 第三个参数:accessOrder=true,基于访问顺序;accessOrder=false,基于插入顺序
   */
  this.map = new LinkedHashMap<K, V>(0, 0.75f, true);
}

第一个参数 initialCapacity 用于初始化该 LinkedHashMap 的大小。

先简单介绍一下 第二个参数 loadFactor ,这个其实的 HashMap 里的构造参数,涉及到 扩容问题 ,比如 HashMap 的最大容量是 100,那么这里设置 0.75f 的话,到 75 容量的时候就会扩容。

主要是第三个参数 accessOrder=true这样的话 LinkedHashMap 数据排序就会基于数据的访问顺序,从而实现了 LruCache 核心工作原理

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文