java
文章平均质量分 90
雪花不落
计算机挺有趣的,就是头有点凉
展开
-
Set的实现类分析(HashSet、TreeSet、LinkedHashSet)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言1、 Set接口2、 HashSet:无序,无重复3、TreeSet :有序,无重复4、LinkedHashSet:按插入顺序排序5、CopyOnWriteArraySet:线程安全前言最近要找实习了,做了一些算法编程题,意识到java基础还有许多要学习的。学习记录一下Set的实现类及用法1、 Set接口Set接口位于java.util包中,实现了Collection接口Set的特点是不可重复,无序。可判断某个元原创 2021-03-10 15:28:55 · 977 阅读 · 0 评论 -
【数据结构】红黑树与平衡二叉树的区别以及原理详解(附图解)
文章目录前言一、什么是红黑树1.1 平衡二叉树1.2红黑树二、红黑树的构建过程2.1 红黑树保持平衡操作1:变色2.2 红黑树保持平衡操作2:旋转三、红黑树插入之详解总结前言最近在学习HashMap相关内容时碰到了红黑树。在hashMap中,链表超过一定长度将会转化为红黑树,趁这个机会学习并记录一下红黑树的内容。提示:以下是本篇文章正文内容一、什么是红黑树红黑树是一种自平衡二叉排序树,它属于平衡树,但是却没有平衡二叉树那么“平衡”。那么我们首先来看一下平衡二叉树。1.1 平衡二叉树二叉平.原创 2021-01-05 20:37:48 · 30200 阅读 · 17 评论 -
java线程安全ConcurrentHashMap详解
文章目录前言一、HashMap的线程安全问题二、线程安全的map1.线程安全的Hashtable2. ConcurrentHashMap分段锁锁 + CAS总结前言众所周知HashMap是非线程安全的,而ConcurrentHashMap是线程安全的,它是目前使用得最多的线程安全map,那么它是如何保证线程安全呢。让我们来一起看一下。一、HashMap的线程安全问题在单线程时,HashMap无疑是使用得最多的,哈希算法时间复杂度相对较低,使用高效。但是在多线程的情况下HashMap是非线程安全的原创 2021-01-03 15:43:12 · 448 阅读 · 0 评论 -
java优先队列 PriorityQueue详解(附图)
文章目录前言一、概念及应用场景二、原理及源码分析1. 了解继承图2. 优先队列的插入总结前言最近接触到优先队列的题目,正好趁这个机会复习一下优先队列,并深入了解一下源码。一、概念及应用场景PriorityQueue翻译过来是优先队列,是队列中的一种特殊队列。PriorityQueue里的元素是有序的,默认情况下是单调增,可以通过传入Comparator根据自己的需求来更改。在概念上,它是一个有序的二叉树,这种顺序的规则是(默认情况下),每个节点的值都比它的孩子节点的值小。一个最小堆如下图所示.原创 2020-12-30 17:05:43 · 5922 阅读 · 2 评论 -
【力扣1046】最后一块石头的重量 与 PriorityQueue的用法
【力扣1046】最后一块石头的重量提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、不使用最大堆的解法二、使用最大堆PriorityQueue解法三 、PriorityQueue详解使用方法总结前言力扣每日一题*1046.最后一块石头的重量* 标记为简单题目,在没有看题解之前使用了自己的数组排序+插入的方法。看题解发现使用最大堆方法更简单。趁这个机会记录一下题目的解法,并学习一下最大堆的原理及概念提示:以下是本篇文章正文内容,下面案例可供参考一、不使用最大堆的原创 2020-12-30 14:49:47 · 221 阅读 · 3 评论