![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 79
猫狗行
这个作者很懒,什么都没留下…
展开
-
Hashtatble、HashMap、ConcurrentHashMap区别
Hashtable和HashMap的区别 命名 Hashtable命名没有遵循驼峰命名,HashMap命名遵循了驼峰命名。 继承类 Hashtable继承的是Dictionary类,HashMap继承的是AbstractMap类。 线程 Hashtable在多线程的情况下是线程安全的,因为Hashtable在数据操作的方法上都加上了synchronized关键字。 //Hashtable的put方法 public synchronized V put(K key, V value) H原创 2021-10-11 16:43:18 · 143 阅读 · 0 评论 -
Mysql索引
索引介绍 Mysql官方介绍索引是一种帮助Mysql高效获取数据的数据结构。 而平时我们所说的索引是具体的像聚集索引,唯一索引,复合索引,前缀索引等。 为什么要使用索引 我们使用新华字典,如果没有拼音笔画查找目录,我们想查找一个字,那得一页页去翻。 假如有百万条数据,在没有索引的情况下,我们需要从第一条数据开始查找。运气好,可能第一条数据就是,运气不好,可能得查找到第一百万条数据...原创 2021-10-09 17:35:43 · 203 阅读 · 0 评论 -
hashMap如何解决hash冲突的
如果我们在代码中创建一个对象,直接使用hashCode方法,这个hashCode方法是object类的,目的是返回一个对象的哈希码,但是会出现一个问题,不同的对象也可能会得到相同的哈希码,这就出现了哈希冲突。 hashMap源码中决定将元素要放进桶的哪个下标位置的代码如下 p = tab[i = (n - 1) & hash] 有一种情况,两个哈希吗低位相同,高位不同,但是高位在&运算下并没有太大意义,所以还是得到了相同的下标。那...原创 2021-10-09 10:56:03 · 291 阅读 · 0 评论 -
红黑树-插入和删除
红黑树是平衡二叉树的一种,不像严格的平衡二叉树(AVL树),当左右子树深度差大于1时就会进行平衡操作,严格控制树的深度。红黑树只有当左右子树深度差大于2时会进行平衡操作。其次,由于AVL树严格追求平衡的特性,在插入删除时,在不同情况下,进行复衡旋转的次数要比红黑树多。 插入导致失衡时,AVL树和红黑树最多通过两次旋转复衡,都为O(1)。 删除导致失衡时,AVL树复衡是Olog(n),红黑树最多需要三次就能复衡,只需要O(1)。 由此来看,...原创 2021-10-08 15:08:32 · 670 阅读 · 1 评论