Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

±¾µØÎı¾Ë÷Òý¼°javaµÄHashMapʵÏÖ

Õâ¸öѧÆÚµÄÐÅÏ¢¼ìË÷¿ÎÒª×öÒ»¸ö´óµÄ×÷Òµ£¬Æäʵ¾ÍÊÇÏ൱ÓÚÒ»¸öËÑË÷ÒýÇæ£¬µ«ÊÇÊÇ»ùÓÚ±¾µØÎı¾ÎļþµÄ¼ìË÷£¬²»ÐèÒª°ÇÍøÒ³£¬Ò²²»ÄÜʹÓÃLucence»òLemurµÈÇ¿´óµÄµÚÈý·½¿ªÔ´Èí¼þ£¬ÒªÈ«²¿×Ô¼ºÍê³É¡£
Ҫ˵Ë÷Òýµ¹ÊÇÊ®·Ö¼òµ¥£¬¾ÍÊǵ¹ÅŶøÒÑ£¬²¢Ã»ÓÐʲô¸´ÔÓ£¬¶øÇÒµÚÒ»°æµÄ×÷ÒµÒªÇóÖ»ÒªÒÔ×ÖΪË÷Òý¼´¿É£¬¶øÇÒ²»ÐèÒª¶Ô½á¹û½øÐÐÅÅÐòºÍ¸ßÁÁÏÔʾ£¬ÉõÖÁ²»ÐèÒª¼Ç¼¸Ã×ÖÔÚÎĵµÖгöÏֵĴÎÊýºÍλÖá£ËùÒÔÔÚÍê³ÉµÄʱºòÒ²¾ÍÊÇʹÓÃÁËÒ»¸ö½ÏΪ¼òµ¥µÄ´æ´¢Êý¾Ý½á¹¹£¬¼´HashMap<string, HashSet<int>>ÕâÑùÒ»¸ö½á¹¹£¬µÚÒ»¸ö²ÎÊý´æ´¢µÄÊÇ×Ö£¬ºóÃæµÄHashSetÖд洢µÄÊǸÃ×Ö³öÏÖµÄÎĵµºÅ£¬ÓÉÓÚ×ÖºÍÎĵµºÅ¶¼²»ÐèÒªÖØ¸´¼Ç¼£¬ËùÒÔ²ÉÓÃÁ˹þÏ£½á¹¹¡£
²»¾ÃÓÖ¿ªÊ¼×öÊý¾Ý¿âµÄ×÷Òµ£¬ÄÚÈÝÊÇ»ùÓÚÊý¾Ý¿âµÄÐÅÏ¢¼ìË÷£¬Õâ´ÎµÄÊý¾ÝÁ¿Ïà¶ÔÒª´óºÜ¶à£¬´ó¸ÅÓÐ300¶àMµÄÊý¾Ý£¬¶øÇÒ±ØÐëÓÃC++À´Íê³É£¬¿ªÊ¼ÊÇÓÃSTLµÄmapÀ´×ö£¬µ«ÊÇmapÊÇûÓÐʵÏÖ¹þÏ£µÄ£¬²åÈëʱҪÅжÏÖØ¸´£¬ËùÒÔËÙ¶È»áÖ¸Êý¼¶±äÂý£¬380ÍòÌõÊý¾Ý´¦Àíµ½50Íòʱ¾ÍÒѾ­Âýµ½²»ÐÐÁË£¬¶øÇÒ³ÔÄÚ´æÊ®·ÖÑÏÖØ£¬ËùÒÔ¾ÍÏ£Íû×Ô¼ºÊµÏÖÒ»¸öHashMap¡£
ËäÈ»ÍøÉÏÒ²ÓÐÏֳɵĴúÂ룬µ«ÊÇ»¹ÊÇÏë×Ô¼ºÐ´Ò»¸ö£¬Ïëµ½javaÖÐÓõ½ÁËJDK1.6µÄHashMap£¬¾ÍÏë×Å˳±ã¿´Ò»ÏÂJDKµÄÔ´Â룬ȻºóÕÕè»­»¢ÒÆÖ²µ½C++ÖУ¬´ó¸Å»¨ÁËÒ»Ìì×óÓÒµÄʱ¼äʵÏÖÁËÒ»¸ö½Ï¼òµ¥µÄ£¬Ã»ÓÐʵÏÖµü´úÆ÷µÄHashMap£¬Ë³±ã¼Ç¼һÏÂÔÚ¿´JDKÔ´ÂëʱµÄһЩÊÕ»ñ£¬±Ï¾¹Ð´µÃ»¹ÊÇÏ൱¾«²ÊµÄ£¬¿ÉÒÔÕâô˵°É¡£
Ê×ÏÈÊÇÉ¢ÁÐÂëµÄ¼ÆË㣬ÕâÊÇ×ö¹þÏ£×îÖØÒªµÄÒ»²¿·Ö£¬Ã»ÓÐÒ»¸öºÃµÄÉ¢Áк¯Êý£¬Ò»Çж¼ÊÇ¿Õ̸£¬ÏÂÃæÊÇJDK1.6ÖйþÏ£µÄ¼ÆË㣬һЩ²ÎÊýÎÒÖ±½Ó³õʼ»¯Ê¹ÓÃÁË£¬Ô´ÂëÖв»ÊÇÕâÑùдµÄ£¬µ«Êǽá¹ûÊÇÒ»ÑùµÄ£¬ÕâÀïÊÇStringÀàhashCodeµÄ¼ÆË㣺
int hashCode(string s) {
int h = 0, off = 0;
int len = s.length();
for (int i = 0; i < len; i++)
h = 31 * h + s[off++];
return h;
}
ÉÏÃæÊÇStringÀàµÄhashCodeµÄ¼ÆË㣬ÔÚHashMapÖУ¬»ùÓÚÕâ¸ö½á¹ûÓÖ½øÐÐÁ˽øÒ»²½¼ÆË㣬Ëã·¨ÈçÏ£º
int hash(int h) {
h ^= (h >>> 20) ^ (h >>> 12);
return h ^ (h >>> 7) ^ (h >>> 4);
}
ÆäÖвÎÊýh¾ÍÊÇStringµÄhashCode£¬ËäÈ»ÊǼòµ¥µÄËÄ´ÎÒÆÎ»ºÍÁù´Î°´Î»Òì»òµÄ¼ÆË㣬µ«ÊÇЧ¹ûÈ´ÊǾªÈ˵쬾­²âÊÔ£¬ÔÚʹÓÃ0.75×÷Ϊ¸ºÔØÒò×Ó£¬380ÍòÌõÊý¾Ý¹²1Íò¶à¸ö¼üµÄ·Ö²¼Çé¿öÊǼ«ÎªÆ½¾ùµÄ£¬²¢ÇÒÒÆÎ»ºÍ°´Î»Âß¼­ÔËËãÊÇÔÚËùÓÐÔËËãÖÐ×î¿ìµÄ£¬¼´Ê¹´¦ÀíµÄ¶¼ÊÇÖÐÎÄЧ¹ûÒ²·Ç³£ºÃ£¬±ÈÆðÍ


Ïà¹ØÎĵµ£º

ÉîÈë½âÎöJavaµÄÐÂÌØÐÔassertion

 
ÎÒÃǾ­³£ÏÂÔØ¿ªÔ´ÏîÄ¿µÄÔ´ÂëÔÚ±¾µØ±àÒë,ÊDz»ÊǾ­³£±»Ò»¾ä"assert expression"¸ø¸ãµÃ±àÒë²»¹ýÈ¥£¬¾­³£ÊÇÔÚÀϰ汾µÄjdk±àÒëÆ÷ÏÂû°ì·¨£¬ÏÂÃæ¾ÍÏò´ó¼ÒÍÆ¼öһƪÉîÈë·ÖÎöjava assertionµÄÎÄÕ¡£
Ò»¡¢assertionµÄÓï·¨ºÍÓïÒå
J2SE 1.4ÔÚÓïÑÔÉÏÌṩÁËÒ»¸öÐÂÌØÐÔ£¬¾ÍÊÇassertion(¶ÏÑÔ)¹¦ÄÜ£¬ËüÊǸð汾ÔÚJavaÓïÑÔ·½Ãæ×î´ ......

¼ÓÔØ¡¢Á´½ÓºÍ³õʼ»¯£¨java¸ß¼¶±à³Ì1.2.5£©


JVM£º¼ÓÔØ¡¢Á´½ÓºÍ³õʼ»¯
JVMÒª½âÊÍJava×Ö½ÚÂ룬¾Í±ØÐë¶ÔËùÐèµÄÀàºÍ½Ó¿ÚÖ´ÐÐÈçÏÂ3²½²Ù×÷£º
(1) ¼ÓÔØ£ºJVMÔÚ¼ÓÔØÀàʱ£¬»á²éÕÒ¸ÃÀà»ò¸Ã½Ó¿ÚµÄ¶þ½øÖƱíʾ£¬²¢¸ù¾ÝÕÒµ½µÄ¶þ½øÖƱíʾ(ͨ³£ÊÇÓÉJava±àÒëÆ÷´´½¨µÄÀàÎļþ)´´½¨Ò»¸öClass¶ÔÏ󡣸ÃClass¶ÔÏóÖзâ×°ÁËÀà»ò½Ó¿ÚµÄÔËÐÐʱ״̬¡£
(2) Á´½Ó£ºÁ´½ÓÕâÒ»¹ý³ÌÊÇָȡµÃÒѼÓÔØµÄ ......

Java³£ÓÃËã·¨·ÖÎö

Ò»  ²åÈëÅÅÐò·¨:
˵Ã÷: ÿ´Î½«Ò»¸ö´ýÅÅÐòµÄ¼Ç¼£¬°´Æä¹Ø¼ü×Ö´óС²åÈëµ½Ç°ÃæÒѾ­ÅźÃÐòµÄ×ÓÎļþÖеÄÊʵ±Î»Öã¬Ö±µ½È«²¿¼Ç¼²åÈëÍê³ÉΪֹ¡£ Java´úÂë public class InsertSorter extends Sorter {   /**      * from  ÆðʼλÖà   &# ......

Java ÀíÂÛºÍʵ¼ù: Á˽ⷺÐÍ

JDK 5.0 ÖÐÔö¼ÓµÄ·ºÐÍÀàÐÍ£¬ÊÇ Java ÓïÑÔÖÐÀàÐͰ²È«µÄÒ»´ÎÖØÒª¸Ä½ø¡£µ«ÊÇ£¬¶ÔÓÚ³õ´ÎʹÓ÷ºÐÍÀàÐ͵ÄÓû§À´Ëµ£¬·ºÐ͵ÄijЩ·½Ãæ¿´ÆðÀ´¿ÉÄܲ»ÈÝÒ×Ã÷°×£¬ÉõÖÁ·Ç³£Ææ¹Ö¡£ÔÚ±¾ÔµēJava ÀíÂÛºÍʵ¼ù”ÖУ¬Brian Goetz ·ÖÎöÁËÊø¸¿µÚÒ»´ÎʹÓ÷ºÐ͵ÄÓû§µÄ³£¼ûÏÝÚå¡£Äú¿ÉÒÔͨ¹ýÌÖÂÛÂÛ̳Óë×÷ÕßºÍÆäËû¶ÁÕß·ÖÏíÄú¶Ô±¾ÎĵĿ´·¨¡ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ