自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 HashMap JDK1.8源码分析

HashMap JDK1.8和JDK1.7差异比较大。JDK1.8 HashMap采用数组+链表+红黑树存储值。一、原理当链表长度大于或者等于8时,链表转化为红黑树。二、红黑树简单介绍。https://www.cnblogs.com/nullllun/p/8214599.html转载于:https://www.cnblogs.com/laolei1...

2019-09-19 15:22:00 191

转载 手写HashMap

经过HashMap源码分析,我们可以手写一个简单的HashMap废话不多说,直接上代码一个简单的HashMap拥有的方法,我把它定义为一个接口public interface MyMap<K, V> { public V put(K k, V v); //插入 public V get(K k);//获取元素 public int si...

2019-09-17 16:01:00 88

转载 手写LinkedList

 java链表底层采用对象存储,优点,插入方便。缺点查询速度慢。直接上代码。public class MyLinkedList<E> { private int size; // 链表长度 private Node<E> first; // 头 private Node<E> last; // 尾 public void...

2019-07-23 17:34:00 72

转载 手写ArrayList

 写一个自定义ArrayList有利于提升自己对java数据结构的理解。 ArrayList底层使用数组。数组的难点在于在数组中间插入,删除麻烦。优点查询速度快。 直接上代码   一个简单的集合有以下方法,我们使用接口MyList定义方法。public interface MyList<E> { public boolean add(E e);...

2019-07-23 17:24:00 55

转载 手写springmvc(基础功能)

  一直以来,逃避学习。不喜欢看源代码,不学新技术。呆在一个公司无所事事。面临找工作时,心里很慌,于是从新开始学习源码。从零开始直接开始撸代码。1、建立一个Maven项目,项目结构如下图所示。pom.xml 导入 servlet jar包 <dependency> <groupId>javax.se...

2019-07-03 20:40:00 106

转载 win10关闭防火墙

第一种方式1、点击win+E 打开文件资源管理器。2、鼠标右键点击网络,打开属性3、打开windows 防火墙进行关闭第二种方式 通过命令 1、在win10左下角 输入cmd2、右键点击命令提示符,通过右键以管理员命令打开3、输入命令:NetSh Advfirewall set allp...

2019-04-12 11:22:00 781

转载 idea导入maven项目

一次成功https://www.cnblogs.com/longronglang/p/8179616.html转载于:https://www.cnblogs.com/laolei11/p/10694633.html

2019-04-12 10:49:00 67

转载 冒泡排序和选择排序(九)

冒泡排序是我学的第一个排序。刚学的时候也没有整明白,但是记住了答案。找工作笔试的时候凭借着记忆力完成了操作。工作了这么久,突然回头看。发现以前觉得很难的东西现在都已经整的差不多了。希望能和你们一起分享自己的进步。冒泡排序原理:比较二个数的大小,通过交换,大的放后面。冒泡第一轮会找到该数组中最大的元素。用马赛克图来说明以下。 假设一个随机的数组。通过一...

2019-04-02 16:55:00 92

转载 循环双链表(八)

双链表和单链表的区别是多了一个指向上一个节点的指针。循环双链表插入1、找到该链表的下一个节点。2、新插入的节点上一个节点指向该链表,下一个指针指向该链表的下一个节点。3、该链表下一个节点指向新插入的节点。所有public class DoubleNode { int data; DoubleNode next = this; ...

2019-04-02 16:11:00 120

转载 循环单链表(七)

循环单链表和单链表最大的区别是它的某个节点会指向该链表的头节点。通过循环你会发现该链表循环不尽,整个链表形成一个环。循环链表插入元素1、找到该链表的下一个节点2、新元素的下一个节点指向该链表的下一个节点。3、该链表的下个节点指向新元素。代码public class LoopNode { int data; //循环链表初始化 ne...

2019-04-02 16:05:00 68

转载 自定义单链表(六)

链表和数组区别,链表不是顺序存储。每一个节点里面存着下一个节点的指针。优点:无需实现申明大小,插入方便。缺点:查询速度比不上数组。单链表插入节点1、找到该链表的最后一个节点2、最后一个节点的指针指向新节点。3、返回自身。代码public class Node { int data; Node next; pub...

2019-04-02 15:41:00 113

转载 汉诺塔问题(五)

汉诺塔我第一次是在c++语言的书籍中看到的,当时看了很久,无法理解。后来索性就再也没有研究过。最近在看数据结构相关视频,又提到了汉诺塔问题。咬着牙琢磨了很久,终于懂了一点皮毛了,希望能和你们一起分享。一起进步。汉诺塔是一种小游戏,没玩过的朋友可以去4399玩一次。方便体会这种递归思想。汉诺塔分为三个柱子 A、B、CA上面的阶层数叫做盘子个数。把A上面的所有的盘子移...

2019-04-02 15:10:00 146

转载 自定义队(四)

队列的特点和栈相反,先进先出,同样用数组实现队列。 队列插入 1、创建一个新的数组,大小比原来的数组长度大一。 2、把原来的数组的值赋值到新数组 3、新数组插入最新元素 4、新数组赋值给原数组public class MyQuene { int[] elements; public void push(int v...

2019-04-02 14:34:00 61

转载 自定义栈(三)

栈只能在一端进行删除和插入操作,换句话说就是后进后出。最先进来的元素叫做栈底。 可以简单的理解成一桶水,后来的水放在最上面。倒出的时候最上面的水最先倒出去。我用数组实现栈功能。插入push 1、创建一个新的数组,大小比原来的数组长度大一。 2、把原来的数组的值赋值到新数组 3、新数组插入最新元素 4、新数组赋值给原数组代码实现pu...

2019-04-02 14:19:00 90

转载 二分查找和线性查找(二)

二分查找和线性查找可运用于数组线性查找 时间复杂度 O(n) 1、遍历数组 2、拿目标和数组中的元素进行匹对 3、找到则返回数组中该元素的下标 4、未查询到则返回-1//自定义数组public class MyArray {int[] elements;// 线性查找 public int search(int target...

2019-04-02 14:05:00 148

转载 自定义数组java(一)

工作算的上是一年了,但是这一年大多数时间都在玩游戏,混日子。大学虽然学过数据结构,但是听的迷迷糊糊。完全没有听懂。以下记录一下学习数据结构的过程,方便自己和他人复习。 数据结构在我理解中就是数据和数据中间的存储关系。数组是一种最常见的数据结构。优点是查询速度很快,但是删除效率很低,要移动各个数组。 数组插入 1、创建一个新的数组,大小比原来的数组长度大一。 ...

2019-04-02 12:12:00 345

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除