首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
纵然间
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
23
文章 18
沸点 5
赞
23
返回
|
搜索文章
最新
热门
Java中ArrayList数据结构
1、数组(Array)是一种用连续的内存空间存储相同数据类型数据的线性数据结构。 2、数组的下标为什么从0开始 寻址公式是:baseAddress + i * dataTypeSize,计算下标的内存
Java中ArrayList底层实现原理
ArrayList底层是动态的数组实现的 ArrayList初始容量为0,当第一次添加数据的时候才会初始化容量为10 ArrayList在进行扩容的时候是原来容量的1.5倍,每次扩容都需要拷贝数组 A
Java中ArrarList和LinkedList区别
一、区别 1、底层数据结构不同,ArrayList底层是基于数组实现的,LinkedLis底层是基于链表实现的。 2、ArrayList更适合随机查找,LinkedList更适合删除和添加,查询、添加
HashMap实现原理
底层使用hash表数据结构,即数组+(链表或红黑树) 添加数据时,计算key的值确定元素在数组中的下标 key相同则替换 key不相同(哈希冲突)存在链表或红黑树 获取数据通过key的hash计算数组
Java的HashMap扩容机制分析
1、在添加元素或初始化的时候需要调用resize方法进行扩容,第一次添加数据初始化数组长度为16,以后每次扩容都是达到了扩容阈值(数组长度 * 0.75) 2、每次扩容的时候,都是扩容之前容量的2倍
HashMap的put方法的具体流程
1、判断键值对数组table是否为空或为null,否则执行resize()进行扩容(初始化) 2、根据键值key计算hash值得到数组索引 3、判断table[i]==null,条件成立,直接新建节点
HashMap的put方法的具体流程
1、判断键值对数组table是否为空或为null,否则执行resize()进行扩容(初始化) 2、根据键值key计算hash值得到数组索引 3、判断table[i]==null,条件成立,直接新建节点
数据结构-二叉树
1、什么是二叉树 每个节点最多有两个“叉”,分别是左子节点和右子节点 不要求每个节点都有两个子节点,有的节点只有左子节点,有的节点只有右子节点 二叉树每个节点的左子树和右子树也分别满足二叉树的定义 2
数据结构-红黑树
红黑树(Red Black Tree):也是一种自平衡的二叉搜索树(BST),之前叫做平衡二叉B数(Symmetric Binary B-Tree)。 红黑树的性质(防止旋转,保持平衡): 1、节点要
如何实现数组和list之间的转换
数组转List,使用JDK中的java.util.Arrays工具类asList方法 List转数组,使用List的toArray方法。无参toArray方法返回Object数组,出入初始化长度的数组
下一页
个人成就
文章被点赞
26
文章被阅读
18,383
掘力值
918
关注了
2
关注者
17
收藏集
0
关注标签
48
加入于
2024-02-10