![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Javase
Java之路慢慢走
这个作者很懒,什么都没留下…
展开
-
HashMap源码深度解读
HashMap解读在面试的过程中,面试官经常会向面试者提问关于HashMap的问题,今天我将在这篇文章中仔细介绍一下HashMap.jdk7中的HashMap介绍一下HashMap及其put和set方法实现HashMap是由数组加上链表的数据结构书写的,它使用key-value键值对形式存储数据,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个...原创 2018-07-29 09:32:33 · 691 阅读 · 0 评论 -
LinkedList源码解析
引言在前面的文章中, 我们对 ArrayList 做了较为详细的源码解读, 今天将在这篇文章中继续对 LinkedList 的源码作出解读, 本文中的 LinkedList 是基于 jdk1.8. LinkedList 底层分析LinkedList 数据结构如上图所示 LinkedList 底层是基于双向链表实现的, 其中 LinkedList 的头结点不存放数据,...原创 2018-09-09 09:45:17 · 330 阅读 · 0 评论 -
ArrayList/Vector源码解析
引言对于Java程序员而言,集合类框架是必须要掌握的,笔者前一段时间被问到了一个关于ArrayList如何在遍历list时删除特定元素的问题,当时没有立即回答上来.随后想起,还是看源码看的太少了,所以就有了这一篇关于ArrayList的解读. 那么在进行这篇文章的阅读之前,也希望读者们能够把这个问题思考一下,看看自己是否已经有了问题的答案吧!以下代码打印列表中的偶数项,并将其...原创 2018-09-09 10:02:09 · 202 阅读 · 0 评论 -
HashSet源码解析
HashSetHashMap实现原理HashSet 是一个不允许存储重复元素的集合,它的实现比较简单,底层实际上是一个HashMap.使用HashMap的键存储使用者想要存入HashSet中的值,这样就可以保证set不会存储重复的元素了.所以,只要理解了 HashMap,HashSet 就毫无难度了。成员变量首先通过源代码了解下 HashSet 的成员变量: private tra...原创 2018-09-24 15:29:40 · 337 阅读 · 0 评论 -
面试常考算法题(一)--四种排序方法以及小和问题
常用算法题练习(一)引言算法的重要毋庸置疑,在面试过程中或多或少的会被问到算法,这一个系列的文章虽然冠以常用这一称呼,但是并不意味着所有算法都很简单,这一篇文章是系列文章的第一篇,包括以下几个算法题,部分相对而言有点难度的题目会有所讲解.冒泡排序,选择排序,插入排序源码归并排序的细节讲解与复杂度分析小和问题和逆序对问题冒泡排序,选择排序,插入排序冒泡排序冒泡排序的思想就是将相...原创 2018-09-24 15:30:23 · 3701 阅读 · 0 评论 -
面试常考算法题(二)--荷兰国旗问题
面试常考算法题(二)–荷兰国旗问题荷兰国旗问题是面试中常考的一个题目,涉及到的思想并不是很复杂.荷兰国旗问题题目给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N)问题解析最差解法这个问题如果不考虑时间复杂度和空间复杂度的话,最简单的解法自然是使用辅助数...原创 2018-09-24 15:30:56 · 4023 阅读 · 1 评论 -
面试常考算法题(三)--快速排序
面试常考算法题(三)–快速排序快速排序经典快速排序快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。经典快排思路...原创 2018-09-24 15:31:20 · 1330 阅读 · 0 评论