当前位置: 首页 > wzjs >正文

北京seo网站管理大连html5开发

北京seo网站管理,大连html5开发,深圳工程项目,湖北省建筑信息平台Jdk7不同集合的扩容机制 集合类初始容量负载因子扩容公式扩容时机ArrayList10无新容量 旧容量 1.5元素数量超过容量时HashMap160.75新容量 旧容量 2元素数量超过 容量 负载因子 时HashSet160.75新容量 旧容量 2元素数量超过 容量 负载因子 时Vector10无新容量 旧容量…

Jdk7不同集合的扩容机制

集合类初始容量负载因子扩容公式扩容时机
ArrayList10新容量 = 旧容量 × 1.5元素数量超过容量时
HashMap160.75新容量 = 旧容量 × 2元素数量超过 容量 × 负载因子
HashSet160.75新容量 = 旧容量 × 2元素数量超过 容量 × 负载因子
Vector10新容量 = 旧容量 + 增量 或 × 2元素数量超过容量时
Hashtable110.75新容量 = 旧容量 × 2 + 1元素数量超过 容量 × 负载因子

通过了解不同集合类的扩容机制,可以更好地选择和使用合适的集合类,避免频繁扩容带来的性能开销。

ArrayList

private void grow(int minCapacity) {// overflow-conscious codeint oldCapacity = elementData.length;// newCapacity = oldCapacity + oldCapacity / 2int newCapacity = oldCapacity + (oldCapacity >> 1);if (newCapacity - minCapacity < 0)newCapacity = minCapacity;if (newCapacity - MAX_ARRAY_SIZE > 0)newCapacity = hugeCapacity(minCapacity);// minCapacity is usually close to size, so this is a win:elementData = Arrays.copyOf(elementData, newCapacity);
}

HashMap

头插法

void addEntry(int hash, K key, V value, int bucketIndex) {if ((size >= threshold) && (null != table[bucketIndex])) {// 旧容量 * 2resize(2 * table.length);hash = (null != key) ? hash(key) : 0;bucketIndex = indexFor(hash, table.length);}createEntry(hash, key, value, bucketIndex);
}

HashSet

通过HashMap实现的.

public HashSet() {map = new HashMap<>();}

Hashtable

protected void rehash() {HashtableEntry e, old;int i, index;int oldCapacity = table.length;HashtableEntry oldTable[] = table;// 新容量 = 旧容量 × 2 + 1int newCapacity = oldCapacity * 2 + 1;HashtableEntry newTable[] = new HashtableEntry[newCapacity];threshold = (int)(newCapacity * loadFactor);table = newTable;for (i = oldCapacity ; i-- > 0 ;) {for (old = oldTable[i] ; old != null ; ) {e = old;old = old.next;index = (e.hash & 0x7FFFFFFF) % newCapacity;e.next = newTable[index];newTable[index] = e;}}
}

Vector

private void grow(int minCapacity) {// overflow-conscious codeint oldCapacity = elementData.length;int newCapacity = oldCapacity + ((capacityIncrement > 0) ?capacityIncrement : oldCapacity);if (newCapacity - minCapacity < 0)newCapacity = minCapacity;if (newCapacity - MAX_ARRAY_SIZE > 0)newCapacity = hugeCapacity(minCapacity);elementData = Arrays.copyOf(elementData, newCapacity);}
http://www.dtcms.com/wzjs/547624.html

相关文章:

  • discuz!网站模板wordpress自定义页面编码
  • 网站设计规划信息技术教案怎么做招聘网站设计
  • 文件备案网站建设方案做网站放哪个科目
  • 广州网站建设 .超凡科技龙岩公司注册
  • 东莞外贸模板建站一款可做引流的网站源码
  • 自己做公司网站代理记账包含哪些业务
  • 润滑油东莞网站建设wordpress footer设置
  • 农村pc网站开发上海百度推广方案
  • 数据管理系统网站模板网站小功能
  • 郴州专业的网站建设做电商网站企业
  • 自己建网站模板怎么装字体到wordpress
  • 网站建设要后台吗搜索引擎推广的简称是
  • 福州网站建设 大公司html网页制作模板代码简单
  • 网站如何防止被攻击深圳知名企业
  • 做网站潍坊三桥网站建设
  • 让网站排名下降新媒体运营岗位职责
  • 深圳网站软件网站建设微信客户端官网
  • 备案审核网站显示500网站教程
  • 各行业网站建设方案书福州住房和建设局网站
  • 专业做图片制作网站做网站还要数据库吗
  • 59zwd一起做网站服饰 公司 网站建设
  • 微信做模板下载网站有哪些内容平面设计和室内设计有什么区别
  • 英文企业网站源码高县住房和城乡建设部网站
  • wordpress网站搬家vps有哪些好的模板网站
  • 做资讯网站怎么挣钱去哪个网站做试用好
  • 音乐制作软件哪个好wordpress新站SEO优化
  • 上海网站建设q479185700強ipage wordpress
  • 哪些网站可以做引流阿里云可以做哪些网站吗
  • 小说网站怎么做用户画像营业推广的概念
  • 网站的二维码怎么做企业网上年检在网站怎么做