1.引子 并发编程中使用HashMap可能导致程序死循环。因为多线程会put方法添加键值对时将导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点永远不为空,就会产生死循环获取Entry。 另外Hashtable只是简单地使用阻塞式锁(synchroni ...
分类:
其他好文 时间:
2020-02-28 01:13:39
阅读次数:
75
#include<iostream> #include<algorithm> using namespace std; int hashtable[26] = {0};//统计各个小写字母出现次数 int cnt_alpha = 0,cnt_word = 0,MAX = -1; int main() ...
分类:
其他好文 时间:
2020-02-25 12:31:40
阅读次数:
79
hash题。 解题方法:一边输入数据,一边进行判断和输出。 #include<iostream> using namespace std; bool hashtable[10000] = {false}; int main() { int n,m,temp,cnt1 = 0,cnt2 = 0; ci ...
分类:
其他好文 时间:
2020-02-24 19:02:11
阅读次数:
69
hash题。。。 #include<iostream> #include<algorithm> using namespace std; int hashtable[100500]= {0}; int c[100500] = {0}; int main() { int n,a,b,m; cin>>n ...
分类:
其他好文 时间:
2020-02-23 22:09:00
阅读次数:
80
前言: 常见的关于HahsMap与ConcurrentHashMap的问题: 数据结构、线程安全、扩容、jdk1.7 HashMap死循环、jdk1.8 HashMap红黑树、容量必须是2的冥次 HashMap 数据结构:数组,单向链表 线程安全:不安全,HashTable线程安全,但是全用了 sy ...
分类:
其他好文 时间:
2020-02-20 22:21:51
阅读次数:
88
1. 简介 散列表的实现叫散列hashing,散列用于以常数平均时间执行 插入、删除、查找,不支持排序、findMin、findMax。 查找关键字不需要 比较 在一个记录的存储位置和它的关键字之间建立映射关系:key--f(key) 这个关系就是散列函数/哈希函数。将一些记录存储在一块 连续 的存 ...
分类:
编程语言 时间:
2020-02-20 00:17:44
阅读次数:
223
水题,又是一道hash题。 #include<iostream> #include<cctype> using namespace std; int hashtable[26]= {0}; int main() { char c; while(scanf("%c",&c)!=EOF) { if(is ...
分类:
其他好文 时间:
2020-02-19 18:53:37
阅读次数:
81
水题。 #include<iostream> using namespace std; int hashtable[111]= {0}; //成绩与人数的映射 int main() { int n,score,k; cin>>n; for(int i = 0; i < n; ++i) { scanf ...
分类:
其他好文 时间:
2020-02-19 12:50:27
阅读次数:
73
解决并发情况下的容器线程安全问题的。给多线程环境准备一个线程安全的容器对象。 线程安全的容器对象: Vector, Hashtable。线程安全容器对象,都是使用 synchronized 方法实现的。 concurrent 包中的同步容器,大多数是使用系统底层技术实现的线程安全。类似 native ...
分类:
编程语言 时间:
2020-02-18 16:38:54
阅读次数:
80
水题。与B1093 字符串A+B 类似。 #include<iostream> #include<cctype> using namespace std; bool hashtable[300] = {false}; int main() { string str1,str2; cin>>str1> ...
分类:
其他好文 时间:
2020-02-18 12:51:58
阅读次数:
72