HashMap中未进行同步考虑,而Hashtable在每个方法上加上了synchronized,锁住了整个Hash表,一个时刻只能有一个线程操作,其他的线程则只能等待,在并发的环境下,这样的操作导致Hashtable的效率低下。 Collections的静态方法synchronizedMap(...
分类:
其他好文 时间:
2015-06-28 12:36:36
阅读次数:
124
ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。HashTable容器在竞争激烈的并发环境下表现出效率低下的原因是所有访问HashTable的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是Conc...
分类:
其他好文 时间:
2015-06-28 09:59:26
阅读次数:
245
1. 问题描述 在给定的数组nums[]nums[]中找出两个数,他们的和target。(满足numsi+numsj=targetnums_i + nums_j = target。返回这两个数在数组中的位置,起始位置为1。且i<ji < j。
2. 方法与思路 第一遍扫描,建立hash映射;考虑到数组中可能有numsi=numsjnums_i = nums_j的情况,映射结构为map<in...
分类:
其他好文 时间:
2015-06-27 16:27:42
阅读次数:
102
目前为止已经介绍了顺序查找、二分查找、分块查找、二叉排序树,见作者之前的文章:
http://blog.csdn.net/u010025211/article/details/46635325
http://blog.csdn.net/u010025211/article/details/46635183
今天这篇博文将介绍哈希查找。
1.为什么要用哈希查找
之前所讲...
分类:
编程语言 时间:
2015-06-25 15:33:14
阅读次数:
235
红黑树是工程中用的比较多的一个数据结构,它的优点是查找的复杂度是O(lgN), 而且红黑树会在插入数据的时候保持平衡,抑制复杂度的暴涨。虽然它没有hashtable那样高效,但是不用事先规划并分配空间。那么它是怎么做到的呢?下面是它的特性:1.红黑树由红色和黑色的元素构成(着色)2.红色节点没有红色...
分类:
其他好文 时间:
2015-06-24 23:52:43
阅读次数:
145
Hashtable 键值对集合有点像字典的概念,查字典时,根据拼音或者偏旁部首查找汉字而键值对,根据键去找值 键值对对象[键] = 值*** 键值对集合当中,键必须是唯一的,而值是可以重复的 //创建一个键值对集合对象 Hashtable ht = new Hash...
分类:
Web程序 时间:
2015-06-24 18:13:29
阅读次数:
151
protected受保护的:可以在当前类的内部以及该类的子类中访问。ArrayList集合:很多数据的一个集合数组:长度不可变,类型单一集合的好处:长度可以任意改变,类型随便放ArrayList list = new ArrayList();list.Add();添加单个元素list.AddRang...
分类:
Web程序 时间:
2015-06-24 16:18:49
阅读次数:
174
ArrayList 实现List接口 ,随着向 ArrayList 中不断添加元素,其容量也自动增长 Vector向量 不过我是不太喜欢这个类 HashMap实现Map接口--可以说内存就是一个HashMap HashTable实现一个哈希表,该哈希表将键映射到相应的值 Set一个不包含重复元素的容...
分类:
其他好文 时间:
2015-06-24 10:41:14
阅读次数:
107
HashMap是基于哈希表的Map接口的非同步实现此实现提供所有可选的映射操作,并允许使用null值和null键Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的1HashMap的数据结构:在java编程语言中,最基本的结构就是两种,一个是数组,...
分类:
其他好文 时间:
2015-06-24 00:32:59
阅读次数:
78
本文为Ruby on Rails的系列6,介绍了一个简单的暗语生成器与解释器的算法:(1)HashTable知识;(2)字符串处理;(3)迭代器;
分类:
其他好文 时间:
2015-06-23 19:50:00
阅读次数:
124