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

wordpress theme check平台seo

wordpress theme check,平台seo,wordpress编辑器软件,上海建筑设计公司网站文章目录 1、集合框架2、ArrayList、LinkedList3、HashMap、红黑树4、HashMap的put流程 1、集合框架 两条大支线: ①Collection接口:最基本的集合框架,提供添加、删除、清空等基本操作,主要有三个子接口:i&#xff1a…

文章目录

  • 1、集合框架
  • 2、ArrayList、LinkedList
  • 3、HashMap、红黑树
  • 4、HashMap的put流程

1、集合框架

两条大支线:
①Collection接口:最基本的集合框架,提供添加、删除、清空等基本操作,主要有三个子接口:i:List:一个有序的集合,包含重复元素。实现类包括ArrayList、LinkedList。ii:Set:一个不包含重复元素集合。实现类包括HashSet、LinkedHashSet、TreeSet。iii:Queue:一个用于保持元素队列集合。实现类包括PriorityQueue、ArrayDeque。
②Map接口:表示键值对的集合,一个键映射到一个值。键不能重复,每个键只能对应一个值。Map接口的实现类包括HashMap、LinkedHashMap、TreeMap。

在这里插入图片描述

集合框架架常用工具类:
集合框架位于java.util包下,提供两个常用工具类:i:Collections:提供一些对集合进行排序、二分查找、同步的静态方法。ii:Arrays:提供一些对数组进行排序、打印、和 List 进行转换的静态方法。

2、ArrayList、LinkedList

①ArrayList基于数组实现,LinkedList基于链表实现。ArrayList利于查找,支持随机访问,LinkedList利于增删。i:ArrayList通过数组下标获取,时间复杂度是O(1);LinkedList需要遍历链表,时间复杂度是O(n)。ii:ArrayList如果增删的是数组尾部,时间复杂度是O(1);如果add的时候涉及到扩容,时间复杂度会上升到O(n)。插入中间位置,把插入位置后的元素向前或者向后移动,甚至还有可能触发扩容,效率低很多,变成O(n)。②LinkedList是链表结构,插入和删除只需要改变前置节点、后置节点和插入节点的引用,不需要移动元素。i:在链表的头部插入或者删除,时间复杂度是O(1)。ii:在链表的中间插入或者删除,时间复杂度是O(n),因为需要遍历链表找到插入位置。iii:如果是在链表的尾部插入或者删除,时间复杂度是O(1)。
③使用场景
ArrayList适用于:i:随机访问频繁:需要频繁通过索引访问元素的场景。ii:读取操作远多于写入操作:如存储不经常改变的列表。iii:末尾添加元素:需要频繁在列表末尾添加元素的场景。LinkedList适用于:i:频繁插入和删除:在列表中间频繁插入和删除元素的场景。ii:不需要快速随机访问:顺序访问多于随机访问的场景。iii:队列和栈:由于其双向链表的特性,LinkedList实现队列(FIFO)和栈(LIFO)

在这里插入图片描述

④ArrayList扩容机制i:当往ArrayList中添加元素时,会先检查是否需要扩容,如果当前容量+1超过数组长度,会进行扩容。ii:扩容后的新数组长度是原来的1.5倍,然后再把原数组的值拷贝到新数组中。

在这里插入图片描述

⑤ArrayList序列化i:在ArrayList中,writeObject方法被重写,用于自定义序列化逻辑:只序列化有效数据,因为elementData数组容量一般大于实际的元素数量,声明时候加transient关键字。ii:出于效率的考虑,不直接序列化数组。数组可能长度100,但实际只用50,剩下50没用到,不需要序列化。
⑥实现ArrayList线程安全方法i:Collections.synchronizedList()方法,通过synchronized关键字加锁实现。返回一个线程安全的 List。SynchronizedList list = Collections.synchronizedList(new ArrayList());ii:CopyOnWriteArrayList:遵循写时复制原则。允许并发读,读操作是无锁。a:往一个容器添加元素,不直接往容器中添加。先复制出一个新的容器,然后在新容器里添加元素,添加完之后,再将原容器引用指向新容器。多个线程在读的时候,不需要加锁,因为当前容器不会添加任何元素。这样实现线程安全。

3、HashMap、红黑树

①JDK8中HashMap的数据结构:数组+链表+红黑树。初值容量:16、负载因子:0.75.扩容为原来的2倍。

在这里插入图片描述

②红黑树是自平衡的二叉查找树,通过左旋和右旋以及染色保持平衡:i:每个节点要么是红色,要么是黑色;ii:根节点永远是黑色;iii:所有的叶子节点都是是黑色的(下图中的 NULL 节点);iv:红色节点的子节点一定是黑色的;v:从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。

在这里插入图片描述

使用红黑树原因:i:二叉树每个节点最多有两个子节点,容易出现极端情况。插入数据有序,二叉树就会退化成链表,查询效率O(n)。ii:平衡二叉树要求更高,左右子树高度差为1,保证极佳查找效率,但在进行插入和删除时,频繁旋转维持树平衡,维护成本更高。iii:链表复杂度是O(n),当链表长度较长时,查找性能会下降。红黑树是一种折中的方案,查找、插入、删除的时间复杂度O(log n)。

4、HashMap的put流程

哈希寻址 → 处理哈希冲突(链表还是红黑树)→ 判断是否需要扩容 → 插入/覆盖节点。

在这里插入图片描述

http://www.dtcms.com/wzjs/15116.html

相关文章:

  • wordpress图文播放免费手机优化大师下载安装
  • 上海网站开发哪家好宁波网络推广公司有哪些
  • 营销智库网站百度搜索引擎优化的方法
  • 企业官方网站建设运营方案天津seo公司
  • 网站做代理服务器seo技术最新黑帽
  • 如何免费做网站江苏短视频seo搜索
  • 用sql2000做网站培训心得简短200字
  • 做国外的网站有什么不用钱的企业品牌推广
  • 怎么做能让网站尽快收录营业推广是一种什么样的促销方式
  • 怎样可以提升自己的网站seo研究中心好客站
  • 汽车配件网站建设淘宝关键词优化怎么弄
  • 网站开发过程中遇到的问题百度收录入口在哪里
  • 公安网站 模板热门搜索排行榜
  • 爱做网站免费app推广方案
  • 做网页设计网站有哪些第三方营销平台有哪些
  • 自己搭建vps上外网北京seo服务行者
  • 网站首页客服qq做超链接自媒体账号申请
  • 浙江网站制作公司水果店推广营销方案
  • 广元网站建设优化广西壮族自治区在线seo关键词排名优化
  • 打开网页时网站顶部显示广告随后消失的广告怎么做seo优化软件免费
  • 商业网站源码免费下载百度统计
  • python flask做网站广州seo优化效果
  • 怎么做自己的个人网站知名的网络推广
  • 做网站系统浙江百度代理公司
  • 网站首页代码怎么做今晚赛事比分预测
  • 洱源网站建设如何做seo整站优化
  • 凡客客服电话一键优化清理手机
  • 设计师个人网站源码seo网络排名优化哪家好
  • b2b网站推广排名seo查询系统
  • 我的网站百度怎么搜索不到了营销软件培训