Java±ÊÊÔÌ⣺HashMapºÍHashTableµÄÇø±ð
½ñÌì²Î¼ÓÍøÁú±ÊÊÔ£¬Ò»ÌâÊǹØÓÚHashMapºÍHashTableµÄÇø±ð£¬´ðµÄ²»ºÃ£¬»ØÀ´¸Ï½ôѧϰѧϰ....
HashTableµÄÓ¦Ó÷dz£¹ã·º£¬HashMapÊÇпò¼ÜÖÐÓÃÀ´´úÌæHashTableµÄÀ࣬Ҳ¾ÍÊÇ˵½¨ÒéʹÓÃHashMap£¬²»ÒªÊ¹ÓÃHashTable¡£¿ÉÄÜÄã¾õµÃHashTableºÜºÃÓã¬ÎªÊ²Ã´²»ÓÃÄØ£¿ÕâÀï¼òµ¥·ÖÎöËûÃǵÄÇø±ð¡£
1.HashTableµÄ·½·¨ÊÇͬ²½µÄ£¬HashMapδ¾Í¬²½£¬ËùÒÔÔÚ¶àÏ̳߳¡ºÏÒªÊÖ¶¯Í¬²½HashMapÕâ¸öÇø±ð¾ÍÏñVectorºÍArrayListÒ»Ñù¡£
2.HashTable²»ÔÊÐínullÖµ(keyºÍvalue¶¼²»¿ÉÒÔ),HashMapÔÊÐínullÖµ(keyºÍvalue¶¼¿ÉÒÔ)¡£
3.HashTableÓÐÒ»¸öcontains(Object value)£¬¹¦ÄܺÍcontainsValue(Object value)¹¦ÄÜÒ»Ñù¡£
4.HashTableʹÓÃEnumeration£¬HashMapʹÓÃIterator¡£
ÒÔÉÏÖ»ÊDZíÃæµÄ²»Í¬£¬ËüÃǵÄʵÏÖÒ²ÓкܴóµÄ²»Í¬¡£
5.HashTableÖÐhashÊý×éĬÈÏ´óСÊÇ11£¬Ôö¼ÓµÄ·½Ê½ÊÇ old*2+1¡£HashMapÖÐhashÊý×éµÄĬÈÏ´óСÊÇ16£¬¶øÇÒÒ»¶¨ÊÇ2µÄÖ¸Êý¡£
6.¹þÏ£ÖµµÄʹÓò»Í¬£¬HashTableÖ±½ÓʹÓöÔÏóµÄhashCode£¬´úÂëÊÇÕâÑùµÄ£º
int hash = key.hashCode();
int index = (hash & 0x7FFFFFFF) % tab.length;
¶øHashMapÖØÐ¼ÆËãhashÖµ£¬¶øÇÒÓÃÓë´úÌæÇóÄ££º
int hash = hash(k);
int i = indexFor(hash, table.length);
static int hash(Object x) {
¡¡¡¡int h = x.hashCode();
¡¡¡¡h += ~(h << 9);
¡¡¡¡h ^= (h >>> 14);
¡¡¡¡h += (h << 4);
¡¡¡¡h ^= (h >>> 10);
¡¡¡¡return h;
}
static int indexFor(int h, int length) {
¡¡¡¡return h & (length-1);
}
×ܽ᣺
1.HashTableµÄ·½·¨ÊÇͬ²½µÄ£¬¶øHashMapµÄ·½·¨²»ÊÇ¡£
2.HashMap¿ÉÒÔÈÃÄ㽫¿ÕÖµ×÷Ϊһ¸ö±íµÄÌõÄ¿µÄkey»òvalue¡£
3.HashCodeµÄ¼ÆËãËã·¨²»Í¬
Ïà¹ØÎĵµ£º
²ÊÎåÁ¬ÖéÓÎÏ·¿ª·¢¹ý³Ì
²ÊÎåÁ¬Ö飬һ¿ªÊ¼½Ð“Îå²ÊÁ¬Ö锣¬Í¬Ñ§¿¹Òé˵²»»áÍæ£¬ÒòΪËýÀí½â³ÉÁËÒª°ÑÎåÖÖ²»Í¬ÑÕÉ«µÄÇòÁ¬³ÉÒ»Ïß²ÅÄÜÓ®£¬¿¼Âǵ½Õâ¸ö±êÌâµÄÈ·ÒýÈËÎó½â£¬ÓÎÏ·ÓÖûÓÐÈκÎ˵Ã÷£¬×îÖÕ°ÑÃû³Æ¸Ä³ÉÁË“²ÊÎåÁ¬Ö锡£ÕâÊÇÒ»¸öºÜ¾µäµÄСÓÎÏ·£¬ºÜ¶àÊÖ»úÀï¶¼ÓУ¬×î½üÒòΪѧϰjava£¬×÷ΪÁ·Ï°£¬°ÑÕâ¸öÓÎÏ·×ö ......
1£© ¾ßÌåÀ಻ÊÇÓÃÀ´¼Ì³ÐµÄ¡£Äܱ»¼Ì³ÐµÄÒ»¶¨ÊdzéÏóÀà¡£
Èç¹ûÔÚÒ»¸öÔʼµÄÉè¼ÆÀÓÐÁ½¸ö¾ßÌåÀ࣬ÀàAºÍÀàB,ÀàBÊÇÀàAµÄ×ÓÀ࣬ÄÇô×îºÃµÄÐ޸ķ½°¸ÊÇ£º
½¨Á¢Ò»¸ö³éÏ󣨻òÕß½Ó¿Ú£©C£¬È»ºóÈÃÀàAºÍÀàB³ÉΪÀàCµÄ×ÓÀà
2)³éÏóÀàÓ¦¾¡¿ÉÄܵÄÓµÓжàµÄ¹²Í¬´úÂë
Ò»¸ö¶ÔÏó´Ó³¬Àà¼Ì³Ð¶øÀ´µÄ´úÂ룬ÔÚ²»Ê¹ÓÃʱ²»»áÔì³É¶Ô×ÊÔ´µÄÀ ......
Îå¡¢XMLģʽ
l XMLģʽÄܸü¾«È·µÄ´¦ÀíXML½á¹¹Ô¼ÊøµÄ±íʾ֮Íâ»¹ÎªÔ¼ÊøÊý¾ÝµÄ´¦ÀíÌṩһ¸öXMLÑùʽ¡£Ä£Ê½Ö»ÊÇÒ»¸öXMLÎĵµ£¬ÊÜDTDµÄÔ¼Êø¡£¶ÔÓÚXMLģʽ¶øÑÔ£¬XML DTDÖ»ÊÇÒ»ÖÖ´´½¨ÎĵµÔ¼ÊøµÄÊֶΡ£ÒòΪXMLģʽÊÇΪÁËÇ¿»¯XMLÎĵµµÄÓÐЧÐÔ£¬Ëü±ØÐë²ÉÓÃÒ»ÖÖ»úÖÆ£¬¶ø²»ÊÇ×Ô¼º¶¨ÒåÔ¼ÊøÌõ¼þ¡£ÕâÖÖ»úÖÆ±ØÐëÊÇÒ»¸öDTD¡£µ«ÊÇÔʼµÄD ......
javaÖÐvolatile¹Ø¼ü×ÖµÄÓ÷¨ºÍÔÀí
±¾ÎÄÀ´×ÔCSDN²©¿Í£ºhttp://blog.csdn.net/litao1102/archive/2009/10/07/4639155.aspx
ÎÒÃÇÖªµÀ£¬ÔÚJavaÖÐÉèÖñäÁ¿ÖµµÄ²Ù×÷£¬³ýÁËlongºÍdoubleÀàÐ͵ıäÁ¿Íâ¶¼ÊÇÔ×Ó²Ù×÷£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚ±äÁ¿ÖµµÄ¼òµ¥¶Áд²Ù×÷ûÓбØÒª½øÐÐͬ²½¡£
ÕâÔÚJVM 1.2֮ǰ£¬JavaµÄÄÚ´æÄ£ÐÍʵÏÖ× ......
ÏÂÃæµÄ·½·¨Òâͼȷ¶¨ËüÄÇΨһµÄ²ÎÊýÊÇ·ñÊÇÒ»¸öÆæÊý¡£Õâ¸ö·½·¨Äܹ»ÕýÈ·ÔËתÂð£¿
public static boolean isOdd(int i){
return i % 2 == 1;
}
ÆæÊý¿ÉÒÔ±»¶¨ÒåΪ±»2Õû³ýÓàÊýΪ1µÄÕûÊý¡£±í´ïʽ i % 2 ¼ÆËãµÄÊÇ i Õû³ý 2 ʱËù²úÉúµÄÓàÊý£¬Òò´Ë¿´ÆðÀ´Õâ¸ö³ÌÐòÓ¦¸ÃÄܹ»ÕýÈ·ÔËת¡£Òź¶µÄÊÇ£¬Ëü²»ÄÜ£»ËüÔÚËÄ·ÖÖ®Ò»µÄʱ¼äÀï·µ»Øµ ......