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

外国人做的古文字网站wordpress博文怎么删

外国人做的古文字网站,wordpress博文怎么删,公司做一个网站如何定位,门户营销型网站搭建目录数组链表#xff1a;存在性能最坏情况O(n)Java7的HashMap的put方法思路数组链表红黑树#xff1a;性能提高到O(logn)Java8的HashMap的putVal方法思路数组链表#xff1a;存在性能最坏情况O(n) Java8以前#xff0c;HashMap底层数据结构采用数组链表的结构。 数组特点链表存在性能最坏情况O(n)Java7的HashMap的put方法思路数组链表红黑树性能提高到O(logn)Java8的HashMap的putVal方法思路数组链表存在性能最坏情况O(n) Java8以前HashMap底层数据结构采用数组链表的结构。 数组特点查询快增删慢。 链表特点查询慢增删较快。 HashMap结合了数组和链表的优势。同时HashMap的操作是非Synchronized因此效率比较高。 Java7的HashMap的put方法思路 put源码 public V put(K key, V value) {if (table EMPTY_TABLE) {inflateTable(threshold);}if (key null)return putForNullKey(value);int hash hash(key);int i indexFor(hash, table.length);for (EntryK,V e table[i]; e ! null; e e.next) {Object k;if (e.hash hash ((k e.key) key || key.equals(k))) {V oldValue e.value;e.value value;e.recordAccess(this);return oldValue;}}modCount;addEntry(hash, key, value, i);return null;}addEntry源码 /*** Adds a new entry with the specified key, value and hash code to* the specified bucket. It is the responsibility of this* method to resize the table if appropriate.** Subclass overrides this to alter the behavior of put method.*/void addEntry(int hash, K key, V value, int bucketIndex) {if ((size threshold) (null ! table[bucketIndex])) {resize(2 * table.length);hash (null ! key) ? hash(key) : 0;bucketIndex indexFor(hash, table.length);}createEntry(hash, key, value, bucketIndex);}方法简述 1、初始化HashMap若Entry数组类型的table为空inflated膨胀扩容意思一个tablethreshold默认初始容量16 2、对key求Hash值然后再计算table下标 3、如果没有碰撞即数组中没有相应的键值对直接放入桶bucket中如果碰撞了以链表的方式链接到后面 4、如果键值对已经存在就替换旧值 5、如果桶满了容量16*加载因子0.75就需要扩容resize(); 但是存在坏情况如果通过哈希散列运算得到的是同一个值即总是分配到同一个桶中使某个桶的链表长度很长。 由于链表查询需要从头开始遍历最坏情况下HashMap性能变为O(n)。 数组链表红黑树性能提高到O(logn) Java8以后HashMap底层数据结构采用数组链表红黑树的结构。 通过常量TREEIFY_THRESHOLD8和UNTREEIFY_THRESHOLD6来控制链表与红黑树的转化。 Java8的HashMap的putVal方法思路 putVal源码 final V putVal(int hash, K key, V value, boolean onlyIfAbsent,boolean evict) {NodeK,V[] tab; NodeK,V p; int n, i;if ((tab table) null || (n tab.length) 0)n (tab resize()).length;if ((p tab[i (n - 1) hash]) null)tab[i] newNode(hash, key, value, null);else {NodeK,V e; K k;if (p.hash hash ((k p.key) key || (key ! null key.equals(k))))e p;else if (p instanceof TreeNode)e ((TreeNodeK,V)p).putTreeVal(this, tab, hash, key, value);else {for (int binCount 0; ; binCount) {if ((e p.next) null) {p.next newNode(hash, key, value, null);if (binCount TREEIFY_THRESHOLD - 1) // -1 for 1sttreeifyBin(tab, hash);break;}if (e.hash hash ((k e.key) key || (key ! null key.equals(k))))break;p e;}}if (e ! null) { // existing mapping for keyV oldValue e.value;if (!onlyIfAbsent || oldValue null)e.value value;afterNodeAccess(e);return oldValue;}}modCount;if (size threshold)resize();afterNodeInsertion(evict);return null;}在Java7源码基础上增加了链表和红黑树的转化。 如果链表长度超过阈值8就把链表转换成红黑树如果链表长度低于6就把红黑树转回链表。改变了最坏情况下O(n)性能提高到O(logn)。 注意Java7中数组里的元素叫EntryJava8及以后改名为Node节点。
http://www.sadfv.cn/news/74620/

相关文章:

  • 不关闭网站备案三亚旅游网站策划书
  • 网站系统开发团队简介上海市建设三类人员报名网站
  • 广州建筑公司网站百度识别图片找图
  • 化妆品公司网站模板shopee怎么注册开店
  • 设计可以在哪个网站接单为什么做的网站在谷歌浏览器打不开
  • 运动健身型网站开发旅游网站建设分析
  • 百度推广怎么开户镇江整站优化
  • 免费空间 网站万网市值
  • 博客网站开发报告文库军队采购网
  • 网站 文件服务器昆山网页设计培训
  • 电子商务网站建设与管理课后心得小米公司的企业文化建设
  • 橙光音乐一家做音乐的网站清风室内设计培训学校官网
  • 做网站销售是干什么的网站自建设需要买什么时候开始
  • 新建html网站最有效的招商方式
  • 可以做产品设计网站wordpress 表单留言
  • 怎么做一个网站云南郴州新网招聘信息招聘频道
  • 做外贸是用什么网站做硬之城电子元器件商城
  • 东莞长安网站设计昆明网站建设天锐科技
  • 软件接口设计文档网络营销优化推广
  • 关于产品网站建设的问题网站备案怎么换
  • 佛山中谦建设网站做网站开发要具备哪些素质
  • 网站开发一定要用框架嘛项目建设表态发言稿
  • 影视公司网站是做什么的深圳ww
  • 内网建设网站需要什么条件酒店网站的规划与建设方案
  • 代做毕业设计网站 道路桥梁网站建设与管理就业方向
  • app网站模板下载不了亚马逊被曝将裁员1万人
  • 社交类网站开发需求免费的软件下载大全安装
  • 免费推广网站平台排名wordpress挣钱
  • 有没有代加工的网站关键词优化是怎么弄的
  • 模板网站seoide 在线 wordpress