当前位置: 首页 > news >正文

跨境商城网站制作度假区网站建设方案

跨境商城网站制作,度假区网站建设方案,网站开发目标开题报告,留言板网页模板HashSet Set接口#xff0c;元素不能重复#xff0c;要确保重写hashCode#xff08;#xff09;方法和equals#xff08;#xff09;方法#xff0c;这样才能比较对象的值是否相等HashMap Map接口#xff0c;key可为null线程安全ConcurrentHashMap#xff08;Map接口元素不能重复要确保重写hashCode方法和equals方法这样才能比较对象的值是否相等HashMap Map接口key可为null线程安全ConcurrentHashMapMap接口、HashTable按次序存储LinkedHashMapHashMapMap接口排序TreeMap Map接口     package com.xmh.mq; /** * Hash算法大全br * 推荐使用FNV1算法 * algorithm None * author Goodzzp 2006-11-20 * lastEdit Goodzzp 2006-11-20 * editDetail Create */ public class HashAll { /**//** * 加法hash * param key 字符串 * param prime 一个质数 * return hash结果 */public static int additiveHash(String key, int prime) { int hash, i; for (hash key.length(), i 0; i key.length(); i) hash key.charAt(i); return (hash % prime); } /**//** * 旋转hash * param key 输入字符串 * param prime 质数 * return hash值 */public static int rotatingHash(String key, int prime) { int hash, i; for (hashkey.length(), i0; ikey.length(); i) hash (hash4)^(hash28)^key.charAt(i); return (hash % prime); // return (hash ^ (hash10) ^ (hash20)); } // 替代 // 使用hash (hash ^ (hash10) ^ (hash20)) mask; // 替代hash % prime; /**//** * MASK值随便找一个值最好是质数 */static int M_MASK 0x8765fed1; /**//** * 一次一个hash * param key 输入字符串 * return 输出hash值 */public static int oneByOneHash(String key) { int hash, i; for (hash0, i0; ikey.length(); i) { hash key.charAt(i); hash (hash 10); hash ^ (hash 6); } hash (hash 3); hash ^ (hash 11); hash (hash 15); // return (hash M_MASK); return hash; } /**//** * Bernsteins hash * param key 输入字节数组 * param level 初始hash常量 * return 结果hash */public static int bernstein(String key) { int hash 0; int i; for (i0; ikey.length(); i) hash 33*hash key.charAt(i); return hash; } // /**/ Pearsons Hash // char pearson(char[]key, ub4 len, char tab[256]) // { // char hash; // ub4 i; // for (hashlen, i0; ilen; i) // hashtab[hash^key[i]]; // return (hash); // } /**/ CRC Hashing计算crc,具体代码见其他 // ub4 crc(char *key, ub4 len, ub4 mask, ub4 tab[256]) // { // ub4 hash, i; // for (hashlen, i0; ilen; i) // hash (hash 8) ^ tab[(hash 0xff) ^ key[i]]; // return (hash mask); // } /**//** * Universal Hashing */public static int universal(char[]key, int mask, int[] tab) { int hash key.length, i, len key.length; for (i0; i(len3); i8) { char k key[i3]; if ((k0x01) 0) hash ^ tab[i0]; if ((k0x02) 0) hash ^ tab[i1]; if ((k0x04) 0) hash ^ tab[i2]; if ((k0x08) 0) hash ^ tab[i3]; if ((k0x10) 0) hash ^ tab[i4]; if ((k0x20) 0) hash ^ tab[i5]; if ((k0x40) 0) hash ^ tab[i6]; if ((k0x80) 0) hash ^ tab[i7]; } return (hash mask); } /**//** * Zobrist Hashing */public static int zobrist( char[] key,int mask, int[][] tab) { int hash, i; for (hashkey.length, i0; ikey.length; i) hash ^ tab[i][key[i]]; return (hash mask); } // LOOKUP3 // 见Bob Jenkins(3).c文件 // 32位FNV算法 static int M_SHIFT 0; /**//** * 32位的FNV算法 * param data 数组 * return int值 */public static int FNVHash(byte[] data) { int hash (int)2166136261L; for(byte b : data) hash (hash * 16777619) ^ b; if (M_SHIFT 0) return hash; return (hash ^ (hash M_SHIFT)) M_MASK; } /**//** * 改进的32位FNV算法1 * param data 数组 * return int值 */public static int FNVHash1(byte[] data) { final int p 16777619; int hash (int)2166136261L; for(byte b:data) hash (hash ^ b) * p; hash hash 13; hash ^ hash 7; hash hash 3; hash ^ hash 17; hash hash 5; return hash; } /**//** * 改进的32位FNV算法1 * param data 字符串 * return int值 */public static int FNVHash1(String data) { final int p 16777619; int hash (int)2166136261L; for(int i0;idata.length();i) hash (hash ^ data.charAt(i)) * p; hash hash 13; hash ^ hash 7; hash hash 3; hash ^ hash 17; hash hash 5; return hash; } /**//** * Thomas Wang的算法整数hash */public static int intHash(int key) { key ~(key 15); key ^ (key 10); key (key 3); key ^ (key 6); key ~(key 11); key ^ (key 16); return key; } /**//** * RS算法hash * param str 字符串 */public static int RSHash(String str) { int b 378551; int a 63689; int hash 0; for(int i 0; i str.length(); i) { hash hash * a str.charAt(i); a a * b; } return (hash 0x7FFFFFFF); } /**//* End Of RS Hash Function */ /**//** * JS算法 */ public static int JSHash(String str) { int hash 1315423911; for(int i 0; i str.length(); i) { hash ^ ((hash 5) str.charAt(i) (hash 2)); } return (hash 0x7FFFFFFF); } /**//* End Of JS Hash Function */ /**//** * PJW算法 */ public static int PJWHash(String str) { int BitsInUnsignedInt 32; int ThreeQuarters (BitsInUnsignedInt * 3) / 4; int OneEighth BitsInUnsignedInt / 8; int HighBits 0xFFFFFFFF (BitsInUnsignedInt - OneEighth); int hash 0; int test 0; for(int i 0; i str.length();i) { hash (hash OneEighth) str.charAt(i); if((test hash HighBits) ! 0) { hash (( hash ^ (test ThreeQuarters)) (~HighBits)); } } return (hash 0x7FFFFFFF); } /**//* End Of P. J. Weinberger Hash Function */ /**//** * ELF算法 */ public static int ELFHash(String str) { int hash 0; int x 0; for(int i 0; i str.length(); i) { hash (hash 4) str.charAt(i); if((x (int)(hash 0xF0000000L)) ! 0) { hash ^ (x 24); hash ~x; } } return (hash 0x7FFFFFFF); } /**//* End Of ELF Hash Function */ /**//** * BKDR算法 */ public static int BKDRHash(String str) { int seed 131; // 31 131 1313 13131 131313 etc.. int hash 0; for(int i 0; i str.length(); i) { hash (hash * seed) str.charAt(i); } return (hash 0x7FFFFFFF); } /**//* End Of BKDR Hash Function */ /**//** * SDBM算法 */ public static int SDBMHash(String str) { int hash 0; for(int i 0; i str.length(); i) { hash str.charAt(i) (hash 6) (hash 16) - hash; } return (hash 0x7FFFFFFF); } /**//* End Of SDBM Hash Function */ /**//** * DJB算法 */ public static int DJBHash(String str) { int hash 5381; for(int i 0; i str.length(); i) { hash ((hash 5) hash) str.charAt(i); } return (hash 0x7FFFFFFF); } /**//* End Of DJB Hash Function */ /**//** * DEK算法 */ public static int DEKHash(String str) { int hash str.length(); for(int i 0; i str.length(); i) { hash ((hash 5) ^ (hash 27)) ^ str.charAt(i); } return (hash 0x7FFFFFFF); } /**//* End Of DEK Hash Function */ /**//** * AP算法 */ public static int APHash(String str) { int hash 0; for(int i 0; i str.length(); i) { hash ^ ((i 1) 0) ? ( (hash 7) ^ str.charAt(i) ^ (hash 3)) : (~((hash 11) ^ str.charAt(i) ^ (hash 5))); } // return (hash 0x7FFFFFFF); return hash; } /**//* End Of AP Hash Function */ /**//** * JAVA自己带的算法 */ public static int java(String str) { int h 0; int off 0; int len str.length(); for (int i 0; i len; i) { h 31 * h str.charAt(off); } return h; } /**//** * 混合hash算法输出64位的值 */public static long mixHash(String str) { long hash str.hashCode(); hash 32; hash | FNVHash1(str); return hash; } }转载于:https://www.cnblogs.com/xingminghui/p/9728874.html
http://www.huolong8.cn/news/108708/

相关文章:

  • 佛山网站制作建设平台网站 备案吗
  • asp网站作业下载做电商与做网站的区别
  • 小地方网站建设公司好新手seo要学多久
  • 网站建设需求分析直接登录的网站
  • 四川通江县住房和建设局网站大学生项目app策划书
  • 长春市住房城乡建设厅网站石家庄免费建站
  • wordpress 网站加密插件wordpress调用缩略图尺寸
  • 网站后台多附件上传wordpress搜狗收录
  • 中国建设银行官网站代发工资开网店需要什么条件和哪些手续?
  • joomla 网站模版毕业设计做网站有哪些需求
  • 智能行业网站模板网站备案做优惠券
  • 电子商务网站开发的步骤包头seo营销公司
  • 网站平台怎么做的好查国外企业用什么软件
  • 怎么做网站推销产品网赢做网站怎么样
  • 网站开发初级技术人员工业设计公司发展方向
  • 惠州有哪些做网站的公司怎样建移动网站
  • 网站建设与管理单招wordpress app 生成6
  • 天津企业模板建站哪个好济南的网站制作公司
  • 可以和外国人做朋友的网站网站关联页面如何做
  • 河北省建设信息网站在线代理的网站
  • 朝阳做网站公司电商小程序开发方案
  • 怎么做网站不用备案数商云公司
  • 深圳建设项目环保网站办事指南建站工具也成为什么系统
  • 陕西开龄建设网站用jsp做的网站
  • 成都 网站改版佛山 详情公布
  • 手机网站建设网网站正在建设中...
  • 企业建设网站的规定做我的狗在什么网站上看
  • 两学一做专题网站介绍平面设计在线观看
  • 做网站运营需要培训吗做虾苗网站有哪些流程
  • 网站备案时间多久长沙app制作