2013年11月1日

STL学习】自己动手C++编程实现hash table(散列表)

摘要: GI STL中散列表采用链接法解决冲突。结构中维护了一个vector,vector中每一个元素称为一个桶(bucket),它包含的是一个链表的第一个节点。下面代码展示了自己编程实现的hash table,C++模板类封装。如有错误,还请包涵和指正(E-Mail:xiajunhust@gmail.com)!HashTable.h:[cpp]view plaincopyprint?//《STL源码剖析》5.7hashtable编程实现//Author:江南烟雨//E-Mail:xiajunhust@gmail.com#include#include#include//hashtable中链表节点数 阅读全文

posted @ 2013-11-01 15:58 gllxy 阅读(509) 评论(0) 推荐(0) 编辑

HashMap和Hashtable的区别

摘要: 1 HashMap不是线程安全的 hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。2 HashTable是线程安全的一个Collection。HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable 阅读全文

posted @ 2013-11-01 15:47 gllxy 阅读(225) 评论(0) 推荐(0) 编辑

导航