has_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> has >>列表
· 带序号循环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... 查看全文
对于一般的java值对象或实体对象来说,这三个方法总是应该覆盖的equals,hashCode,toString,所以我总是把值对象从下面这个类继承publicabstractclassBaseObjectimplementsSerializable{/***DOCUMENTME!**@returnDOCUMENTME!*/publicabstractStringtoString();/***DOCUMENTME!**@paramoDOCUMENTME!**@returnDOCUMENTME... 查看全文
· [转载]hash_map 原理 详解发布时间:2011-11-29
搬家中,请关注nuihq.com转载自:http://www.cppblog.com/kevinjee/archive/2008/12/01/68326.html1数据结构:hash_map原理这是一节让你深入理解hash_map的介绍,如果你只是想囫囵吞枣,不想理解其原理,你倒是可以略过这一节,但我还是建议你看看,多了解一些没有坏处。hash_map基于hashtable(哈希表)。哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间... 查看全文
· 使用JAXB映射HashMap发布时间:2011-11-25
JAXB是很强大的XML<-->JavaClass映射工具。很可惜它默认不支持对Hashmap的映射。但我们可以通过使用XmlJavaTypeAdapter来扩展实现,本文介绍详细方法。首先创建一个带有HashMap的Class:packagenet.bluedash;importjava.util.HashMap;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation... 查看全文
· 自己写的hash表发布时间:2011-11-24
Hash表的基本思想是:将一组数存放到hash表中,我们使用一个函数,叫做hash函数,它的自变量是这些数据,它的函数值就是这个数据在hash表中的位置。因此这个hash函数又叫做hash地址。使用这样的函数,我们必然会设想到这样的一个问题,就是函数值相同。也就是两个不同的数据具有相同的位置,这显然是有问题的。这对于存储数据来说是不允许的。我们把上面的的这种情况叫做hash冲突,而出现这种情况的数据对象(hash函数的自变量)我们把它们称之为同义词,那么这种冲突又叫做同义词冲突... 查看全文
· PHP中Array的hash函数实现发布时间:2011-11-18
今天回顾学习了PHP中变量实现的方法,在浏览其源码是发现在PHP中所有的数据类型通过一个union存储。php语言是弱类型语言,其实现中通过记录变量的类型和值来实现其管理。PHP中使用最多的非Array莫属了,那Array是如何实现的?在PHP内部Array通过一个hashtable来实现,其中使用链接法解决hash冲突的问题,这样最坏情况下,查找Array元素的复杂度为O(N),最好则为1.而其计算字符串hash值的方法如下,将源码摘出来以供查备:ps:对于以下函数,仍有两点不明:1... 查看全文
· HashMap无序与LinkedHashMap有序发布时间:2011-11-11
HashMap为什么是无效?HashMap的数据结构是table[entry],entry是一个链表结构,数据的每个元素是一个链表。不同key,但是具有相同hashcode会落在table[hashcode]的链表上当使用iterator遍历时,使用如下code:finalEntry<K,V>nextEntry(){if(modCount!=expectedModCount)thrownewConcurrentModificationException();Entry<K... 查看全文
· Java HashMap和Hashtable的区别发布时间:2011-11-07
1、继承和实现区别Hashtable是基于陈旧的Dictionary类,完成了Map接口;HashMap是Java1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口)。2、线程安全不同HashTable的方法是同步的,HashMap是未同步,所以在多线程场合要手动同步HashMap。3、对null的处理不同HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)... 查看全文
· the application has stopped unexpectedly发布时间:2011-11-04
这两天和同学在搞一个程序,这之间合并出了太多问题啊。先是在emulator上报theapplicationhasstoppedunexpectedly,然后又在真机在报theapplicationhasstoppedunexpectedly。差点奔溃,还好克服了。在emulator报错的原因是,adblogcat下面能够大致定位错误的原因,之后步步调试就行了。emulator上能够运行,一般真机也就没问题,不过遇到不同版本的差异就可怜了。首先真机运行不了,没有报错信息。直到意识到版本问题... 查看全文
· HashMap和Hashtable的区别发布时间:2011-11-02
导读:1HashMap不是线程安全的hastmap是一个接口是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许nullkey和nullvalue,而hashtable不允许。2HashTable是线程安全的一个Collection。HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全... 查看全文
· Hashcode发布时间:2011-10-21
1.hashcode是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有例如内存中有这样的位置01234567而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,那么当查找时就需要到这八个位置里挨个去找,或者用二分法一类的算法。但如果用hashcode那就会使效率提高很多。我们这个类中有个字段叫ID,那么我们就定义我们的hashcode为ID%8,然后把我们的类存放在取得得余数那个位置。比如我们的ID为9,9除8的余数为1... 查看全文
packagecom.test;importjava.util.LinkedList;importjava.util.ListIterator;publicclassSimpleMap{privatestaticfinalintSZ=997;privateLinkedList[]ls=newLinkedList[SZ];publicObjectput(Objectkey,Objectvalue){Objectresult=null;intindex=key.hashCode()%SZ;if... 查看全文