一、最基本的HashMap 和 ConcurrentHashMap 1、HashMap的结构和底层原理:由数组和链表组成,数组里面每个地方都存了Key-Value这样的实例,在Java7叫Entry在Java8中叫Node 在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表 ...
分类:
编程语言 时间:
2020-03-06 12:40:53
阅读次数:
84
[toc] LinkedList是一种以带头尾指针的双向链表实现的 List,与 ArrayList 相比,其插入元素快,不需要将元素向后移动,但是其获取元素却没有 ArrayList 方便。 继承体系 数据结构 在linkedList中维护了一个双向链表 源码解析 1.属性 2.构造方法 Link ...
分类:
编程语言 时间:
2020-03-03 00:35:41
阅读次数:
62
一、Array 1.数组 2.动态数组 3.数组实现队列 4.数组实现循环队列 5..数组实现栈 复杂度分析: 二、LinkedList 1.链表 2.链表实现队列 3.链表实现栈 复杂度分析: 三、BinaryTree 1.二叉树 复杂度分析: 四、Set 1.链表实现集合 2.二叉树实现集合 复 ...
分类:
其他好文 时间:
2020-02-28 14:09:17
阅读次数:
60
队列 介绍 队列是一个有序列表,可以用 数组 或者 链表 实现 遵循先进先出原则 数组模拟队列 队列本身是有序列表,maxSize为队列最大容量 需要两个 front , rear 随着数据输入而改变 rear是队尾,front为队头 队列入队为addQueue, addQueue处理 1. 尾指针 ...
分类:
其他好文 时间:
2020-02-20 12:57:35
阅读次数:
61
LRU算法 LRU算法定义: LRU算法是指最近最少使用算法,意思是LRU认为最近使用过的数据,将来被访问的概率会大,最近没有被访问的数据意味着以后刚问的概率小。 为何要用LRU算法: 1、我们的存储空间是有限的,当存储空间满了之后,要删除哪些数据呢,才能会时缓存的命中率高一些呢 2、LRU算法还是 ...
分类:
编程语言 时间:
2020-02-16 20:28:43
阅读次数:
98
栈既可以用数组来实现,也可以用链表来实现。用数组实现的栈,我们叫作顺序栈,用链表实现的栈,我们叫作链式栈。 ...
分类:
其他好文 时间:
2020-02-16 12:42:53
阅读次数:
68
package com.node;/** * @auther 付强 * @date 2020/2/14 - 9:20 *///一个节点 //循环链表public class LoopNode { //节点内容 int data; //下一个节点(循环链表只需要加一个this即可) LoopNode ...
分类:
编程语言 时间:
2020-02-14 21:01:50
阅读次数:
89
package com.node;/** * @auther 付强 * @date 2020/2/14 - 13:25 *///循环链表测试public class TestLoopNode { public static void main(String[] args) { LoopNode n1 ...
分类:
编程语言 时间:
2020-02-14 20:59:10
阅读次数:
77
package com.node;/** * @auther 付强 * @date 2020/2/14 - 9:20 *///一个节点 //普通链表public class Node { //节点内容 int data; //下一个节点 Node next; public Node(int data ...
分类:
编程语言 时间:
2020-02-14 20:55:42
阅读次数:
50
package com.node;/** * @auther 付强 * @date 2020/2/14 - 9:25 *///普通链表测试public class TestNode { public static void main(String[] args) { //创建节点 Node n1=n ...
分类:
编程语言 时间:
2020-02-14 20:45:49
阅读次数:
88