Hash_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> Hash >>列表
· Java HashMap实现详解发布时间:2012-02-22
http://beyond99.blog.51cto.com/1469451/429789对java的HashMap数据结构进行了比较不错的介绍。使用注意的地方有:关于HashMap的自动扩充,当HashMap中的元素个数超过数组大小*loadFactor时,就会进行数组扩容,loadFactor的默认值为0.75,这是一个折中的取值。也就是说,默认情况下,数组大小为16,那么当HashMap中元素个数超过16*0.75=12的时候,就把数组的大小扩展为2*16=32,即扩大一倍... 查看全文
在用Coverity(代码检视工具)进行代码检视时,凡是对于HashMap中使用keyset方法的地方全部报warning,说使用了低效的方法,然后建议使用entrySet替代,当时不太清楚entrySet的用法,也没管神马warning,结果发现它在每个这样使用的地方都报了warning,不得不重视了,然后就对这二者进行了一些学习,现将学习心得贴出来。。。被警告的代码如下:publicstaticvoidsetValues2SessionMap(ControllerDatacd,Map<... 查看全文
· Java HashMap深度剖析发布时间:2012-02-17
一、首先再简单重复一下Hash算法简单的说就是一种将任意内容的输入转换成相同长度输出(有个范围,假设10位的数字,用一个称之为HashTable的容器来存放)的加密方式------hash如(假设):“a”---?10位数1123---?10位数2…注意:任意内容的输入,范围是无穷无尽,肯定比相同长度输出(如10位数)要大很多,那么就会造成不同的输入,会得到相同的输出(值)----hash冲突HashMap当然也无法避免冲突问题二、HashMap源码片段publicHashMap(){this... 查看全文
· HashMap源码分析发布时间:2012-02-14
[size=medium;]HashMap源码分析[/size]HashMap用来存储key-value对,内部使用拉链法Hash表作为存储结构,key-value被封装成Entry<K,V>,Entry也是链表结点。1.Hash表的内部结构如下:<spanstyle="white-space:pre;">Entry<K,V>table[];</span>table[0]-->Entry(K,V)-->Entry(K,V... 查看全文
· Java HashMap深度剖析发布时间:2012-02-14
一、首先再简单重复一下Hash算法简单的说就是一种将任意内容的输入转换成相同长度输出(有个范围,假设10位的数字,用一个称之为HashTable的容器来存放)的加密方式------hash如(假设):“a”---?10位数1123---?10位数2…注意:任意内容的输入,范围是无穷无尽,肯定比相同长度输出(如10位数)要大很多,那么就会造成不同的输入,会得到相同的输出(值)----hash冲突HashMap当然也无法避免冲突问题二、HashMap源码片段publicHashMap(){this... 查看全文
· Java中HashMap排序和遍历 .发布时间:2012-02-03
<divid="article_content"class="article_content">HashMap排序1、按照key排序对于java中Map的排序,有排序Map,比如TreeMap,对于这个Map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲。这种方案,使用hashmap进行创建和添加,如果需要按照key排序,则可以将该hashmap作为参数传递到newTreeMap(hashmap),则可以完成按照key的排序:<... 查看全文
· Object对象的hashCode方法发布时间:2012-02-01
hashCodepublicinthashCode()Returnsahashcodevaluefortheobject.Thismethodissupportedforthebenefitofhashtablessuchasthoseprovidedbyjava.util.Hashtable.ThegeneralcontractofhashCodeis... 查看全文
· HashMap源码理解发布时间:2012-01-31
看看HashMap对应的源码。1.类、接口关系publicclassHashMap<K,V>extendsAbstractMap<K,V>implementsMap<K,V>,Cloneable,Serializable克隆和序列化不懂,先看Map。2.实现的接口MappublicinterfaceMap<K,V>{//这些方法就不用写注释了吧,一看就懂。intsize();booleanisEmpty();booleancontainsKey... 查看全文
packagecom.yonge.concurrent;importjava.util.Collections;importjava.util.HashSet;importjava.util.Iterator;importjava.util.Random;importjava.util.Set;/***需求:解决hashset并发产生的java.util.ConcurrentModificationException异常*@authorwb-gaoy*@version$Id... 查看全文
· 浅析 HashTable 碰撞拒绝服务漏洞发布时间:2012-01-10
(转载)在去年(其实只是半个月前而已),Tomcat就紧急发布安全漏洞通知,同时微软也发布了相应的安全漏洞通知,他们都是通过变通的方式来解决此拒绝服务漏洞。而在这风口浪的碰撞拒绝服务漏洞是什么呢?1.什么是HashTable碰撞?我觉得有必要先阐述一下什么是HashTable碰撞,因为这个拒绝服务漏洞不是因为服务器的编码原因或是疏忽造成的,而是程序语言自身的问题,此问题除了perl,ruby外,几乎无一幸免,可怜的JAVA当然也在其中了... 查看全文
最近爆出phphash冲突问题,具体请查看雪候鸟的博文,打了雪兄给出的临时补丁后发现eAccelerator不好使了。执行php-v会提示[eAccelerator]Thisbuildof"eAccelerator"wascompiledforPHPversion5.2.17.RebuilditforyourPHPversion(5.2.17p1)ordownloadprecompiledbinaries.主要是因为php版本号改变了导致eAccelerator报错... 查看全文
· 带序号循环Hash发布时间:2011-12-20
hash.keys.each_with_indexdo|key,index|value=hash[key]print"key:#{key},value:#{value},index:#{index}\n"#usekey,valueandindexasdesiredend... 查看全文
在EffectiveJava中的第九条说:覆盖equals总要覆盖hashCode。“一个很常见的错误根源在于没有覆盖hashCode方法,在每个覆盖了equals方法的类中,也必须覆盖hashCode方法。”以下约定内容摘自Object规范[JavaSE6]:1.在Java应用程序执行期间,在对同一对象多次调用hashCode方法时,必须一致地返回相同的整数,前提是将对象进行equals比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。2... 查看全文
· 【BKDR_hash】HDU 2468 Shopping发布时间:2011-12-13
KIDx的解题报告题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2648题意很简单,不解释,用map暴力也可以,但是要1000ms左右,或者更慢引用:各种字符串Hash函数比较其中我用的是BKDRHash://BKDRHashFunctionunsignedintBKDRHash(char*str){unsignedintseed=131;//31131131313131131313etc..unsignedinthash=0;while... 查看全文
在使用Ruby开发时,经常会遇到需要比较两个Hash对象的值的场合。代码类似如下:x=Hash.newx[:a]='x'y=Hash.newy[:a]='y'x.keys.eachdo|key|ifx[key]!=y[key]puts"finddifferenceforkey#{key}:x=#{x[key]},y=#{y[key]}"endend这样写代码固然可以,但是代码显得有些零乱,另外这种比较逻辑经常需要复用,能不能把它封装在一个函数当中呢?答案是肯定的... 查看全文
· 【转】HashSet和TreeSet的区别发布时间:2011-12-08
HashSet和TreeSet的区别一.问题1.HashSet,TreeSet是如何使用hashCode()和equals()方法的?2.TreeMap,TreeSet中的对象为何要实现Comparable接口?二.回答:1.HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key2.Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个有序性.3.hashCode和equal()是HashMap用的... 查看全文
· 【转】Hashtable 和 HashMap的区别发布时间:2011-12-08
HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。引用1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。2.HashTable不允许null值(key和value都不可以),HashMap允许null值... 查看全文
· 存取之美——HashMap原理与实践发布时间:2011-12-06
HashMap是一种十分常用的数据结构,作为一个应用开发人员,对其原理、实现的加深理解有助于更高效地进行数据存取。本文所用的jdk版本为1.5。使用HashMap《EffectiveJAVA》中认为,99%的情况下,当你覆盖了equals方法后,请务必覆盖hashCode方法。默认情况下,这两者会采用Object的“原生”实现方式,即:viewplaincopytoclipboardprint?protectednativeinthashCode();publicbooleanequals... 查看全文
· 带序号循环Hash发布时间:2011-12-05
hash.keys.each_with_indexdo|key,index|value=hash[key]print"key:#{key},value:#{value},index:#{index}\n"#usekey,valueandindexasdesiredendhash.each_with_indexdo|(key,value),index|print"key:#{key},value:#{value},index:#{index}\n"#usekey... 查看全文
为什么我们需要hashcode方法和equals方法我们都知道,在java中每一个类都继承Object,Object中所以每一个类都有一个hashCode(),equals()方法,为什么要在最高层设计这两个方法呢,先说equals方法。判断两个对象是否相等,怎么样才算相等,举个例子Integeri1=newInteger(1);Integeri2=newInteger(1);System.out.println(i1==i2);//falseSystem.out.println(i1... 查看全文