Lists.newArrayListWithExpectedSize( int estimatedSize)  构造一个期望长度为estimatedSize的ArrayList实例。

源码:

public static <E> ArrayList<E> newArrayListWithExpectedSize(int estimatedSize) {return new ArrayList(computeArrayListCapacity(estimatedSize));
}

//计算集合的容量
@VisibleForTesting
static int computeArrayListCapacity(int arraySize) {
//判断是否小于0,小于0则抛出异常。CollectPreconditions.checkNonnegative(arraySize, "arraySize");return Ints.saturatedCast(5L + (long)arraySize + (long)(arraySize / 10));
}

//检查是否小于0
@CanIgnoreReturnValue
static int checkNonnegative(int value, String name) {if (value < 0) {throw new IllegalArgumentException(name + " cannot be negative but was: " + value);} else {return value;}
}

//判断计算出来的数组长度是否在int的范围内
public static int saturatedCast(long value) {if (value > 2147483647L) {return 2147483647;} else {return value < -2147483648L ? -2147483648 : (int)value;}
}

转载于:https://www.cnblogs.com/fflower/p/10784890.html

Lists.newArrayListWithExpectedSize( int estimatedSize)相关推荐

  1. Guava库学习:学习Collections(二)Lists

    2019独角兽企业重金招聘Python工程师标准>>> 链接地址:http://www.xx566.com/detail/138.html 上一篇学习Collections(一)Fl ...

  2. 吐血整理的Google Guava

    一.概述   Guava 是由Google开发的基于Java的开源库,包含许多Google核心库,它有助于最佳编码实践,并有助于减少编码错误.它为集合 [collections] .缓存 [cachi ...

  3. Lists.newArrayList

    1.介绍 这个方法在google工具类中也有,源码内容如下 public static <E> ArrayList<E> newArrayList() {return new ...

  4. 【LeetCode】【数组归并】Merge k Sorted Lists

    描述 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity ...

  5. 合并k个有序链表 python_[LeetCode] 23. Merge k Sorted Lists 合并k个有序链表

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. E ...

  6. LeetCode Merge k Sorted Lists 解决报告

    https://oj.leetcode.com/problems/merge-k-sorted-lists/ 归并K已经整理阵列,和分析算法的复杂. 解决报告:无论是不考虑优化,最简单的实现是要重新走 ...

  7. Leetcode-Merge k Sorted Lists

    Leetcode-Merge k Sorted Lists 昨天师兄的同事和他一起回实验室看我们,顺便交流了一下面试的事情.他在猿题库碰到了面试题:merge K sorted arrays.我马上就 ...

  8. 面试官系统精讲Java源码及大厂真题 - 14 简化工作:Guava Lists Maps 实际工作运用和源码

    简化工作:Guava Lists Maps 实际工作运用和源码 更新时间:2019-09-24 10:32:00 如果不想在世界上虚度一生,那就要学习一辈子. 引导语 在日常工作中,我们经常会使用一些 ...

  9. [LeetCode] Merge k Sorted Lists 合并k个有序链表

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. E ...

最新文章

  1. Ubuntu下安装kate编辑器
  2. php session 跨子域和跨服务器解决方式
  3. bootstrap 之下拉多选
  4. 自定义 ocelot 中间件输出自定义错误信息
  5. php数据库备份脚本
  6. Mac OS 看机起动JIRA
  7. mongodb mysql json数据类型_mongodb 数据格式补充
  8. Vue —— vuex
  9. Struts2实现简单的在线人数统计
  10. linux 树状目录代码,Linux tree - 以树状图列出目录的内容
  11. 迁移学习SSD深度网络模型,实现文本行检测
  12. vs2008 MFC类继承结构
  13. Python实现批量生成二维码小工具
  14. 选择html5抛弃flash,谷歌Chrome年底正式抛弃Flash 全面转向HTML5
  15. 和女性交往的一些经验总结
  16. excel取末尾数字_excel取后面几位数
  17. Codeforces Round #545 (Div. 2) C. Skyscrapers
  18. dwg怎么转换成html,web html页面显示autocad等dwg格式图形文件方法
  19. ntp和chronyd
  20. 微信api调用限制:45009 reach max api daily quota limit

热门文章

  1. 蘑菇街API 获取商品详情 Onebound全球电商数据接口
  2. 搜索引擎排名实战经验
  3. Java 代码如何获取CPU核心数和定义线程池的核心数
  4. Mac VScode C++开发环境配置
  5. 华为三星OV打响5G手机之战 余承东喊话同行提供真5G手机
  6. 打开github的正确姿势
  7. python识别文字颜色_python读取word文档识别字段颜色,解析字段
  8. PowerBI入门指南
  9. 实验室研究证实BETADINE(R)消毒产品对COVID-19病毒有效
  10. 互联网思维(四)——用户第一?还是产品第一?