数据结构
hqh1357054948
这个作者很懒,什么都没留下…
展开
-
Hashmap如何实现线程安全
方法1:使用hashtable 方法2:使用java.util.concurrent.concurentHashMap 方法3:使用java.util.collections.synchronizedMap()方法包装 HashMap object,得到线程安全的Map,并在此Map上进行操作。 介绍HashTable: hashtable底层是数组+链表的形式,其中的get、put方法等都是用s...原创 2019-09-03 20:18:46 · 6073 阅读 · 0 评论 -
HashMap底层原理与结构
1、HashMap是一个用来存储KEY-VALUE键值对的集合,每一个键值对也叫做Entry,这些键值对分散存储在一个数组中,这个数组就是HashMap的主干。 HashMap数组的每一个元素的初始值都是NULL。 2、HashMap使用的最常见的方法是get和put。 当调用PUT方法时,比如调用HashMap.put(“apple”,0),插入一个key为apple的元素。这时我们需要调用ha...翻译 2019-08-06 15:52:55 · 121 阅读 · 0 评论 -
堆排序和查找第k个数
完全二叉树 完全二叉树有个特性:左边子节点位置 = 当前父节点的两倍 + 1,右边子节点位置 = 当前父节点的两倍 + 2 堆排序是将数据看成是完全二叉树、根据完全二叉树的特性来进行排序的一种算法 其中: 最大堆要求其根节点大于等于叶子结点 最小堆要求其根节点小于等于叶子节点 所以处于最大堆的根节点一定是这个堆中最大的元素,最小堆的根节点一定是这个堆中最小的元素。 ...原创 2019-09-04 20:58:13 · 356 阅读 · 0 评论