HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsize = olesize*2+1 计算index的方法: ...
分类:
其他好文 时间:
2018-10-31 23:26:46
阅读次数:
262
本文例程下载链接: 链表 vs 数组 链表和数组的最大区别在于链表不支持随机访问,不能像数组那样对任意一个(索引)位置的元素进行访问,而需要从头节点开始,一个一个往后访问直到查找到目标位置。 单链表 与顺序表相对,链表是一种链式存储方式。单链表是实现顺序表最简单的一种链表,根据是否包含虚拟头节点,分 ...
分类:
编程语言 时间:
2018-10-29 10:24:41
阅读次数:
217
大一上C语言课设 学生成绩管理系统 要求用链表实现 ...
分类:
编程语言 时间:
2018-10-28 20:41:58
阅读次数:
189
数组表示的问题 对于队列最好的方法是使用链表实现,因为对于数组来说,队列可能会出现下面这种情况: 如图所示,不可以继续添加元素,否则会造成数组越界而遭致程序出错。然而此时又不应该扩充数组,因为还有大量实际空间未被占用。 此时我们应该如何解决这个问题呢?我们将其实现为循环队列。 理解循环队列 何谓循环 ...
分类:
其他好文 时间:
2018-10-27 00:09:24
阅读次数:
168
多线程设计模式第三篇,介绍基础的生产者-消费者模式和实用的读写锁模式
分类:
编程语言 时间:
2018-10-18 18:10:39
阅读次数:
223
一、HashMap的结构 Map集合即Key-Value的集合,前面加个Hash,即散列,无序的。所以HashMap是一个用于存储Key-Value键值对的无序集合,每一个键值对也叫做Entry。 在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在 ...
分类:
其他好文 时间:
2018-10-13 14:47:22
阅读次数:
139
c++实现双向链表 : 1 #ifndef DOUBLE_LINK_HXX 2 #define DOUBLE_LINK_HXX 3 4 #include <iostream> 5 using namespace std; 6 7 template<class T> 8 struct DNode 9 ...
分类:
编程语言 时间:
2018-10-07 18:59:49
阅读次数:
143
栈:是一种容器,类似于桶一样,栈是一种特殊的线性表,不同于一般线性表的是,一般线性表可以在表内任意位置添加和删除元素, 而栈只可以在尾端进行,栈尾一般称之为栈顶,另一端称之为栈底,特点是:后进先出/先进后出。 而一般常见使用的有 顺序栈 和 链栈;顺序栈类似于数组一样,而链栈就是用链表实现的,链栈的 ...
分类:
编程语言 时间:
2018-10-05 16:07:52
阅读次数:
207