ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
µÚÈýµç×ÓÊé ·µ»Ø±¾ÊéĿ¼ ¼ÓÈëÊéÇ© ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ¡ºÊղص½ÎÒµÄä¯ÀÀÆ÷¡»

Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ64²¿·Ö

¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

ÓÉÓÚMap¡¡µÄ´óСÊÇ×îÑÏÖصÄÎÊÌ⣬ËùÒÔ³ÌÐòµÄ¼Æʱ²âÊÔ°´Map¡¡µÄ´óС£¨»òÈÝÁ¿£©À´·Ö¸îʱ¼ä£¬ÒÔ±ãµÃµ½ÁîÈË¡¡

ÐÅ·þµÄ²âÊÔ½á¹û¡£ÏÂÃæÁгöһϵÁнá¹û£¨ÔÚÄãµÄ»úÆ÷ÉÏ¿ÉÄܲ»Í¬£©£º¡¡¡¡

¡¡¡¡

ÀàÐÍ¡¡²âÊÔ´óС¡¡ÖÃÈë¡¡È¡³ö¡¡·´¸´¡¡¡¡

¡¡¡¡



T¡¡y¡¡p¡¡e¡¡¡¡¡¡¡¡¡¡T¡¡e¡¡s¡¡t¡¡¡¡¡¡Put¡¡¡¡¡¡Get¡¡¡¡¡¡¡¡¡¡Iteration¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡s¡¡i¡¡z¡¡e¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡10¡¡¡¡¡¡¡¡¡¡¡¡¡¡11¡£0¡¡¡¡¡¡5¡£0¡¡¡¡¡¡¡¡¡¡¡¡44¡£0¡¡¡¡



Hashtable¡¡100¡¡¡¡¡¡¡¡¡¡¡¡¡¡7¡£7¡¡¡¡¡¡¡¡¡¡7¡£7¡¡¡¡¡¡¡¡¡¡16¡£5¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1000¡¡¡¡¡¡¡¡¡¡8¡£0¡¡¡¡¡¡¡¡¡¡8¡£0¡¡¡¡¡¡¡¡¡¡14¡£4¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡10¡¡¡¡¡¡¡¡¡¡¡¡¡¡16¡£0¡¡¡¡¡¡11¡£0¡¡¡¡¡¡22¡£0¡¡¡¡



TreeMap¡¡¡¡100¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡25¡£8¡¡¡¡¡¡15¡£4¡¡¡¡¡¡13¡£2¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1000¡¡¡¡¡¡¡¡¡¡33¡£8¡¡¡¡¡¡20¡£9¡¡¡¡¡¡13¡£6¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡10¡¡¡¡¡¡¡¡¡¡¡¡¡¡11¡£0¡¡¡¡¡¡6¡£0¡¡¡¡¡¡¡¡¡¡¡¡33¡£0¡¡¡¡



HashMap¡¡¡¡100¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡8¡£2¡¡¡¡¡¡¡¡¡¡7¡£7¡¡¡¡¡¡¡¡¡¡13¡£7¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1000¡¡¡¡¡¡¡¡¡¡8¡£0¡¡¡¡¡¡¡¡¡¡7¡£8¡¡¡¡¡¡¡¡¡¡11¡£9¡¡¡¡



¡¡¡¡

¡¡¡¡

¼´Ê¹´óСΪ¡¡10£¬ArrayMap¡¡µÄÐÔÄÜÒ²Òª±ÈHashMap¡¡²î¡ª¡ª³ý·´¸´Ñ­»·Ê±ÒÔÍâ¡£¶øÔÚʹÓÃMap¡¡Ê±£¬·´¸´µÄ×÷ÓÃͨ¡¡

³£²¢²»ÖØÒª£¨get£¨£©Í¨³£ÊÇÎÒÃÇʱ¼ä»¨µÃ×î¶àµÄµØ·½£©¡£TreeMap¡¡ÌṩÁ˳öÉ«µÄ¡¡put£¨£©ÒÔ¼°·´¸´Ê±¼ä£¬µ«¡¡get£¨£©¡¡

µÄÐÔÄܲ¢²»¼Ñ¡£µ«ÊÇ£¬ÎÒÃÇΪʲôÈÔÈ»ÐèҪʹÓÃTreeMap¡¡ÄØ£¿ÕâÑùÒ»À´£¬ÎÒÃÇ¿ÉÒÔ²»°ÑËü×÷ΪMap¡¡Ê¹Ó㬶ø¡¡

×÷Ϊ´´½¨Ë³ÐòÁбíµÄÒ»ÖÖ;¾¶¡£Ê÷µÄ±¾ÖÊÔÚÓÚËü×ÜÊÇ˳ÐòÅÅÁеģ¬²»±ØÌرð½øÐÐÅÅÐò£¨ËüµÄÅÅÐò·½Ê½ÂíÉϾ͡¡

Òª½²µ½£©¡£Ò»µ©Ìî³äÁËÒ»¸öTreeMap£¬¾Í¿ÉÒÔµ÷ÓÃkeySet£¨£©À´»ñµÃ¼üµÄÒ»¸öSet¡¡¡°¾°Ï󡱡£È»ºóÓÃtoArray£¨£©¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡252¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡254¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

²úÉú°üº¬ÁËÄÇЩ¼üµÄÒ»¸öÊý×é¡£Ëæºó£¬¿ÉÓá¡static¡¡·½·¨Array¡£binarySearch£¨£©¿ìËÙ²éÕÒÅźÃÐòµÄÊý×éÖеġ¡

ÄÚÈÝ¡£µ±È»£¬Ò²ÐíÖ»ÓÐÔÚHashMap¡¡µÄÐÐΪ²»¿É½ÓÊܵÄʱºò£¬²ÅÐèÒª²ÉÓÃÕâÖÖ×ö·¨¡£ÒòΪHashMap¡¡µÄÉè¼Æ×ÚÖ¼¡¡

¾ÍÊǽøÐпìËٵļìË÷²Ù×÷¡£×îºó£¬µ±ÎÒÃÇʹÓá¡Map¡¡Ê±£¬Ê×ÒªµÄÑ¡ÔñÓ¦¸ÃÊÇ¡¡HashMap¡£Ö»ÓÐÔÚ¼«ÉÙÊýÇé¿öϲš¡

ÐèÒª¿¼ÂÇÆäËû·½·¨¡£¡¡¡¡

´ËÍ⣬ÔÚÉÏÃæÄÇÕűíÀÓÐÁíÒ»¸öÐÔÄÜÎÊÌâûÓз´Ó³³öÀ´¡£ÏÂÊö³ÌÐòÓÃÓÚ²âÊÔ²»Í¬ÀàÐÍMap¡¡µÄ´´½¨Ëٶȣº¡¡¡¡

¡¡¡¡

//£º¡¡MapCreation¡£java¡¡¡¡

//¡¡Demonstrates¡¡time¡¡differences¡¡in¡¡Map¡¡creation¡¡¡¡

package¡¡c08¡£newcollections£»¡¡¡¡

import¡¡java¡£util¡£*£»¡¡¡¡

¡¡¡¡

public¡¡class¡¡MapCreation¡¡£û¡¡¡¡

¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡final¡¡long¡¡REPS¡¡=¡¡100000£»¡¡¡¡

¡¡¡¡¡¡¡¡long¡¡t1¡¡=¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£print£¨¡¨Hashtable¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨long¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡REPS£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡new¡¡Hashtable£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡long¡¡t2¡¡=¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨£º¡¡¡¨¡¡£«¡¡£¨t2¡¡t1£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡t1¡¡=¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£print£¨¡¨TreeMap¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨long¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡REPS£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡new¡¡TreeMap£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡t2¡¡=¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨£º¡¡¡¨¡¡£«¡¡£¨t2¡¡t1£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡t1¡¡=¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£print£¨¡¨HashMap¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨long¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡REPS£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡new¡¡HashMap£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡t2¡¡=¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨£º¡¡¡¨¡¡£«¡¡£¨t2¡¡t1£©£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

ÔÚдÕâ¸ö³ÌÐòÆڼ䣬TreeMap¡¡µÄ´´½¨ËٶȱÈÆäËûÁ½ÖÖÀàÐÍÃ÷ÏÔ¿ìµÃ¶à£¨µ«ÄãÓ¦Ç××Ô³¢ÊÔһϣ¬ÒòΪ¾Ý˵а桡

±¾¿ÉÄÜ»á¸ÄÉÆArrayMap¡¡µÄÐÔÄÜ£©¡£¿¼Âǵ½Õâ·½ÃæµÄÔ­Òò£¬Í¬Ê±ÓÉÓÚÇ°ÊöTreeMap¡¡³öÉ«µÄput£¨£©ÐÔÄÜ£¬ËùÒÔÈç¡¡

¹ûÐèÒª´´½¨´óÁ¿Map£¬¶øÇÒÖ»ÓÐÔÚÒÔºó²ÅÐèÒªÉæ¼°´óÁ¿¼ìË÷²Ù×÷£¬ÄÇô×î¼ÑµÄ²ßÂÔ¾ÍÊÇ£º´´½¨ºÍÌî³ä¡¡

TreeMap£»ÒÔºó¼ìË÷Á¿Ôö´óµÄʱºò£¬ÔÙ½«ÖØÒªµÄTreeMap¡¡×ª»»³ÉHashMap¡ª¡ªÊ¹ÓÃHashMap£¨Map£©¹¹½¨Æ÷¡£Í¬Ñù¡¡

µØ£¬Ö»ÓÐÔÚÊÂʵ֤Ã÷ȷʵ´æÔÚÐÔÄÜÆ¿¾±ºó£¬²ÅÓ¦¹ØÐÄÕâЩ·½ÃæµÄÎÊÌ⡪¡ªÏÈÓÃÆðÀ´£¬ÔÙ¸ù¾ÝÐèÒª¼Ó¿ìËٶȡ£¡¡¡¡



8¡£7¡£6¡¡¡¡Î´Ö§³ÖµÄ²Ù×÷¡¡¡¡



ÀûÓá¡static¡¡£¨¾²Ì¬£©Êý×éArrays¡£toList£¨£©£¬Ò²ÐíÄܽ«Ò»¸öÊý×éת»»³ÉList£¬ÈçÏÂËùʾ£º¡¡¡¡

¡¡¡¡

//£º¡¡Unsupported¡£java¡¡¡¡

//¡¡Sometimes¡¡methods¡¡defined¡¡in¡¡the¡¡Collection¡¡¡¡

//¡¡interfaces¡¡don't¡¡work£¡¡¡¡¡

package¡¡c08¡£newcollections£»¡¡¡¡

import¡¡java¡£util¡£*£»¡¡¡¡

¡¡¡¡

public¡¡class¡¡Unsupported¡¡£û¡¡¡¡

¡¡¡¡private¡¡static¡¡String£§£§¡¡s¡¡=¡¡£û¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡253¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡255¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¨one¡¨£»¡¡¡¨two¡¨£»¡¡¡¨three¡¨£»¡¡¡¨four¡¨£»¡¡¡¨five¡¨£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¨six¡¨£»¡¡¡¨seven¡¨£»¡¡¡¨eight¡¨£»¡¡¡¨nine¡¨£»¡¡¡¨ten¡¨£»¡¡¡¡

¡¡¡¡£ý£»¡¡¡¡

¡¡¡¡static¡¡List¡¡a¡¡=¡¡Arrays¡£toList£¨s£©£»¡¡¡¡

¡¡¡¡static¡¡List¡¡a2¡¡=¡¡Arrays¡£toList£¨¡¡¡¡

¡¡¡¡¡¡¡¡new¡¡String£§£§¡¡£û¡¡s£§3£§£»¡¡s£§4£§£»¡¡s£§5£§¡¡£ý£©£»¡¡¡¡

¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡Collection1¡£print£¨a£©£»¡¡//¡¡Iteration¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨a¡£contains£¨¡¨¡¡£«¡¡s£§0£§¡¡£«¡¡¡¨£©¡¡=¡¡¡¨¡¡£«¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡a¡£contains£¨s£§0£§£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨a¡£containsAll£¨a2£©¡¡=¡¡¡¨¡¡£«¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡a¡£containsAll£¨a2£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨a¡£isEmpty£¨£©¡¡=¡¡¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡a¡£isEmpty£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨a¡£indexOf£¨¡¨¡¡£«¡¡s£§5£§¡¡£«¡¡¡¨£©¡¡=¡¡¡¨¡¡£«¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡a¡£indexOf£¨s£§5£§£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡//¡¡Traverse¡¡backwards£º¡¡¡¡

¡¡¡¡¡¡¡¡ListIterator¡¡lit¡¡=¡¡a¡£listIterator£¨a¡£size£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡while£¨lit¡£hasPrevious£¨£©£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£print£¨lit¡£previous£¨£©£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡//¡¡Set¡¡the¡¡elements¡¡to¡¡different¡¡values£º¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡a¡£size£¨£©£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡a¡£set£¨i£»¡¡¡¨47¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Collection1¡£print£¨a£©£»¡¡¡¡

¡¡¡¡¡¡¡¡//¡¡piles£»¡¡but¡¡won't¡¡run£º¡¡¡¡

¡¡¡¡¡¡¡¡lit¡£add£¨¡¨X¡¨£©£»¡¡//¡¡Unsupported¡¡operation¡¡¡¡

¡¡¡¡¡¡¡¡a¡£clear£¨£©£»¡¡//¡¡Unsupported¡¡¡¡

¡¡¡¡¡¡¡¡a¡£add£¨¡¨eleven¡¨£©£»¡¡//¡¡Unsupported¡¡¡¡

¡¡¡¡¡¡¡¡a¡£addAll£¨a2£©£»¡¡//¡¡Unsupported¡¡¡¡

¡¡¡¡¡¡¡¡a¡£retainAll£¨a2£©£»¡¡//¡¡Unsupported¡¡¡¡

¡¡¡¡¡¡¡¡a¡£remove£¨s£§0£§£©£»¡¡//¡¡Unsupported¡¡¡¡

¡¡¡¡¡¡¡¡a¡£removeAll£¨a2£©£»¡¡//¡¡Unsupported¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

´ÓÖпÉÒÔ¿´³ö£¬Êµ¼ÊֻʵÏÖÁË¡¡Collection¡¡ºÍ¡¡List¡¡½Ó¿ÚµÄÒ»²¿·Ö¡£Ê£ÓàµÄ·½·¨µ¼ÖÂÁ˲»ÊÜ»¶Ó­µÄÒ»ÖÖÇé¿ö£¬¡¡

ÃûΪUnsupportedOperationException¡£ÔÚÏÂÒ»ÕÂÀÎÒÃǻὲÊöÎ¥ÀýµÄÏêϸÇé¿ö£¬µ«ÔÚÕâÀïÓбØÒª½øÐÐÒ»¡¡

ϼòµ¥ËµÃ÷¡£ÕâÀïµÄ¹Ø¼üÔÚÓÚ¡°¼¯ºÏ½Ó¿Ú¡±£¬ÒÔ¼°Ð¼¯ºÏ¿âÄÚµÄÁíһЩ½Ó¿Ú£¬ËüÃǶ¼°üº¬ÁË¡°¿ÉÑ¡µÄ¡±·½¡¡

·¨¡£ÔÚʵÏÖÄÇЩ½Ó¿ÚµÄ¼¯ºÏÀàÖУ¬»òÕßÌṩ¡¢»òÕßûÓÐÌṩ¶ÔÄÇЩ·½·¨µÄÖ§³Ö¡£Èôµ÷ÓÃÒ»¸öδ»ñÖ§³ÖµÄ·½¡¡

·¨£¬¾Í»áµ¼ÖÂÒ»¸öUnsupportedOperationException¡¡£¨²Ù×÷δ֧³ÖÎ¥Àý£©£¬Õâ±íÃ÷³öÏÖÁËÒ»¸ö±à³Ì´íÎ󡣡¡¡¡

´ó¼Ò»òÐí»á¾õµÃÆæ¹Ö£¬²»ÊÇ˵¡°½Ó¿Ú¡±ºÍ»ù´¡Àà×î´óµÄ¡°Âôµã¡±¾ÍÊÇËüÃÇÐíŵÕâЩ·½·¨ÄܲúÉúһЩÓÐÒâÒåµÄ¡¡

ÐÐΪÂð£¿ÉÏÊöÎ¥ÀýÆÆ»µÁËÄǸöÐíŵ¡ª¡ªËüµ÷ÓõÄÒ»²¿·Ö·½·¨²»½ö²»ÄܲúÉúÓÐÒâÒåµÄÐÐΪ£¬¶øÇÒ»¹»áÖÐÖ¹³ÌÐò¡¡

µÄÔËÐС£ÔÚÕâЩÇé¿öÏ£¬ÀàÐ͵ÄËùν°²È«±£Ö¤ËƺõÏÔµÃһǮ²»Öµ£¡µ«ÊÇ£¬Çé¿ö²¢Ã»ÓÐÏëÏóµÄÄÇô»µ¡£Í¨¹ý¡¡

Collection£¬List£¬Set¡¡»òÕßMap£¬±àÒëÆ÷ÈÔÈ»ÏÞÖÆÎÒÃÇÖ»Äܵ÷ÓÃÄǸö½Ó¿ÚÖеķ½·¨£¬ËùÒÔËüºÍ¡¡Smalltalk¡¡»¹¡¡

ÊÇ´æÔÚһЩÇø±ðµÄ£¨ÔÚ¡¡Smalltalk¡¡ÖУ¬¿ÉΪÈκζÔÏóµ÷ÓÃÈκη½·¨£¬¶øÇÒÖ»ÓÐÔÚÔËÐгÌÐòʱ²ÅÖªµÀÕâЩµ÷Óá¡

ÊÇ·ñ¿ÉÐУ©¡£³ý´ËÒÔÍ⣬ÒÔCollection¡¡×÷Ϊ×Ô±äÁ¿µÄ´ó¶àÊý·½·¨Ö»ÄÜ´ÓÄǸö¼¯ºÏÖжÁÈ¡Êý¾Ý¡ª¡ªCollection¡¡

µÄËùÓС°read¡¡¡±·½·¨¶¼²»ÊÇ¿ÉÑ¡µÄ¡£¡¡¡¡

ÕâÑùÒ»À´£¬ÏµÍ³¾Í¿É±ÜÃâÔÚÉè¼ÆÆÚ¼ä³öÏֽӿڵijåÍ»¡£¶øÔÚ¼¯ºÏ¿âµÄÆäËûÉè¼Æ·½°¸ÖУ¬×îÖÕ¾­³£¶¼»áµÃµ½Êý¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡254¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡256¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

Á¿¹ý¶àµÄ½Ó¿Ú£¬ÓÃËüÃÇÃèÊö»ù±¾·½°¸µÄÿһÖֱ仯ÐÎʽ£¬ËùÒÔѧϰºÍÕÆÎÕÏԵ÷dz£À§ÄÑ¡£ÓÐЩʱºò£¬ÉõÖÁÄÑ¡¡

ÓÚ²¶×½½Ó¿ÚÖеÄËùÓÐÌØÊâÇé¿ö£¬ÒòΪÈËÃÇ¿ÉÄÜÉè¼Æ³öÈκÎнӿڡ£µ«¡¡Java¡¡µÄ¡°²»Ö§³ÖµÄ²Ù×÷¡±·½·¨È´´ïµ½ÁË¡¡

м¯ºÏ¿âµÄÒ»¸öÖØÒªÉè¼ÆÄ¿±ê£ºÒ×ÓÚѧϰºÍʹÓᣵ«ÊÇ£¬ÎªÁËʹÕâÒ»·½·¨ÕæÕýÓÐЧ£¬È´ÐèÂú×ãÏÂÊöÌõ¼þ£º¡¡¡¡

£¨1£©¡¡UnsupportedOperationException±ØÐëÊôÓÚÒ»ÖÖ¡°·Ç³£¡±Ê¼þ¡£Ò²¾ÍÊÇ˵£¬¶ÔÓÚ´ó¶àÊýÀàÀ´Ëµ£¬ËùÓв١¡

×÷¶¼Ó¦ÊÇ¿ÉÐеġ£Ö»ÓÐÔÚһЩÌØÊâÇé¿öÏ£¬Ò»¡¢Á½¸ö²Ù×÷²Å¿ÉÄÜδ»ñÖ§³Ö¡£Ð¼¯ºÏ¿âÂú×ãÁËÕâÒ»Ìõ¼þ£¬ÒòΪ¡¡

¾ø´ó¶àÊýʱºòÓõ½µÄÀࡪ¡ªArrayList£¬LinkedList£¬HashList¡¡ºÍ¡¡HashMap£¬ÒÔ¼°ÆäËû¼¯ºÏ·½°¸¡ª¡ª¶¼ÌṩÁË¡¡

¶ÔËùÓвÙ×÷µÄÖ§³Ö¡£µ«ÊÇ£¬Èç¹ûÏëн¨Ò»¸ö¼¯ºÏ£¬Í¬Ê±²»ÏëΪ¼¯ºÏ½Ó¿ÚÖеÄËùÓз½·¨¶¼ÌṩÓÐÒâÒåµÄ¶¨Ò壬¡¡

ͬʱÁîÆäÈÔÓëÏÖÓпâÅäºÏ£¬ÕâÖÖÉè¼Æ·½·¨Ò²È·ÊµÌṩÁËÒ»¸ö¡°ºóÃÅ¡±¿ÉÒÔÀûÓᣡ¡¡¡

£¨2£©¡¡ÈôÒ»¸ö²Ù×÷δ»ñÖ§³Ö£¬ÄÇôUnsupportedOperationException¡¡£¨Î´Ö§³ÖµÄ²Ù×÷Î¥Àý£©¼«ÓпÉÄÜÔÚʵÏÖÆÚ¡¡

¼ä³öÏÖ£¬Ôò²»ÊÇÔÚ²úÆ·Òѽ»¸¶¸ø¿Í»§ÒÔºó²Å»á³öÏÖ¡£Ëü±Ï¾¹Ö¸³öµÄÊÇÒ»¸ö±à³Ì´íÎ󡪡ª²»ÕýÈ·µØʹÓÃÁËÒ»¸ö¡¡

Àà¡£ÕâÒ»µã²»ÄÜÊ®·ÖÈ·¶¨£¬Í¨¹ýÒ²¿ÉÒÔ¿´³öÕâÖÖ·½°¸µÄ¡°ÊÔÑ顱ÌØÕ÷¡ª¡ªÖ»Óо­¹ý¶à´ÎÊÔÑ飬²ÅÄÜÕÒ³ö×îÀí¡¡

ÏëµÄ¹¤×÷·½Ê½¡£¡¡¡¡

¡¡¡¡

ÔÚÉÏÃæµÄÀý×ÓÖУ¬Arrays¡£toList£¨£©²úÉúÁËÒ»¸ö¡¡List¡¡£¨ÁÐ±í£©£¬¸ÃÁбíÊÇÓÉÒ»¸ö¹Ì¶¨³¤¶ÈµÄÊý×éºóÍƳöÀ´¡¡

µÄ¡£Òò´ËΨһÄܹ»Ö§³ÖµÄ¾ÍÊÇÄÇЩ²»¸Ä±äÊý×鳤¶ÈµÄ²Ù×÷¡£ÔÚÁíÒ»·½Ã棬ÈôÇëÇóÒ»¸öнӿڱí´ï²»Í¬ÖÖÀàµÄ¡¡

ÐÐΪ£¨¿ÉÄܽÐ×÷¡°FixedSizeList¡¡¡±¡ª¡ª¹Ì¶¨³¤¶ÈÁÐ±í£©£¬¾ÍÓÐÔâÓö¸ü´óµÄ¸´Ôӳ̶ȵÄΣÏÕ¡£ÕâÑùÒ»À´£¬ÒÔºó¡¡

ÊÔͼʹÓÿâµÄʱºò£¬ºÜ¿ì¾Í»á·¢ÏÖ×Ô¼º²»Öª´ÓºÎ´¦ÏÂÊÖ¡£¡¡¡¡

¶ÔÄÇЩ²ÉÓá¡Collection£¬List£¬Set¡¡»òÕßMap¡¡×÷Ϊ²ÎÊýµÄ·½·¨£¬ËüÃǵÄÎĵµÓ¦µ±Ö¸³öÄÄЩ¿ÉÑ¡µÄ·½·¨ÊDZØÐë¡¡

ʵÏֵġ£¾Ù¸öÀý×ÓÀ´Ëµ£¬ÅÅÐòÒªÇóʵÏÖset£¨£©ºÍ¡¡Iterator¡£set£¨£©·½·¨£¬µ«²»°üÀ¨add£¨£©ºÍ¡¡remove£¨£©¡¡¡£¡¡¡¡



8¡£7¡£7¡¡¡¡ÅÅÐòºÍËÑË÷¡¡¡¡



Java¡¡1¡£2¡¡Ìí¼ÓÁË×Ô¼ºµÄÒ»Ì×ʵÓù¤¾ß£¬¿ÉÓÃÀ´¶ÔÊý×é»òÁбí½øÐÐÅÅÁкÍËÑË÷¡£ÕâЩ¹¤¾ß¶¼ÊôÓÚÁ½¸öÐÂÀàµÄ¡¡

¡¡¡°¾²Ì¬¡±·½·¨¡£ÕâÁ½¸öÀà·Ö±ðÊÇÓÃÓÚÅÅÐòºÍËÑË÷Êý×éµÄArrays£¬ÒÔ¼°ÓÃÓÚÅÅÐòºÍËÑË÷ÁбíµÄCollections¡£¡¡¡¡

¡¡¡¡

1¡£¡¡Êý×é¡¡¡¡

Arrays¡¡ÀàΪËùÓлù±¾Êý¾ÝÀàÐ͵ÄÊý×éÌṩÁËÒ»¸ö¹ýÔصġ¡sort£¨£©ºÍ¡¡binarySearch£¨£©£¬ËüÃÇÒà¿ÉÓÃÓÚString¡¡ºÍ¡¡

Object¡£ÏÂÃæÕâ¸öÀý×ÓÏÔʾ³öÈçºÎÅÅÐòºÍËÑË÷Ò»¸ö×Ö½ÚÊý×飨ÆäËûËùÓлù±¾Êý¾ÝÀàÐͶ¼ÊÇÀàËƵģ©ÒÔ¼°Ò»¸ö¡¡

String¡¡Êý×飺¡¡¡¡

¡¡¡¡

//£º¡¡Array1¡£java¡¡¡¡

//¡¡Testing¡¡the¡¡sorting¡¡&¡¡searching¡¡in¡¡Arrays¡¡¡¡

package¡¡c08¡£newcollections£»¡¡¡¡

import¡¡java¡£util¡£*£»¡¡¡¡

¡¡¡¡

public¡¡class¡¡Array1¡¡£û¡¡¡¡

¡¡¡¡static¡¡Random¡¡r¡¡=¡¡new¡¡Random£¨£©£»¡¡¡¡

¡¡¡¡static¡¡String¡¡ssource¡¡=¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¨ABCDEFGHIJKLMNOPQRSTUVWXYZ¡¨¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¨abcdefghijklmnopqrstuvwxyz¡¨£»¡¡¡¡

¡¡¡¡static¡¡char£§£§¡¡src¡¡=¡¡ssource¡£toCharArray£¨£©£»¡¡¡¡

¡¡¡¡//¡¡Create¡¡a¡¡random¡¡String¡¡¡¡

¡¡¡¡public¡¡static¡¡String¡¡randString£¨int¡¡length£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡char£§£§¡¡buf¡¡=¡¡new¡¡char£§length£§£»¡¡¡¡

¡¡¡¡¡¡¡¡int¡¡rnd£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡length£»¡¡i£«£«£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡rnd¡¡=¡¡Math¡£abs£¨r¡£nextInt£¨£©£©¡¡£¥¡¡src¡£length£»¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡buf£§i£§¡¡=¡¡src£§rnd£§£»¡¡¡¡

¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡return¡¡new¡¡String£¨buf£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡//¡¡Create¡¡a¡¡random¡¡array¡¡of¡¡Strings£º¡¡¡¡

¡¡¡¡public¡¡static¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡255¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡257¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡String£§£§¡¡randStrings£¨int¡¡length£»¡¡int¡¡size£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡String£§£§¡¡s¡¡=¡¡new¡¡String£§size£§£»¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡size£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡s£§i£§¡¡=¡¡randString£¨length£©£»¡¡¡¡

¡¡¡¡¡¡¡¡return¡¡s£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡public¡¡static¡¡void¡¡print£¨byte£§£§¡¡b£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡b¡£length£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£print£¨b£§i£§¡¡£«¡¡¡¨¡¡¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡public¡¡static¡¡void¡¡print£¨String£§£§¡¡s£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡s¡£length£»¡¡i£«£«£©¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£print£¨s£§i£§¡¡£«¡¡¡¨¡¡¡¨£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡

¡¡¡¡¡¡¡¡byte£§£§¡¡b¡¡=¡¡new¡¡byte£§15£§£»¡¡¡¡

¡¡¡¡¡¡¡¡r¡£nextBytes£¨b£©£»¡¡//¡¡Fill¡¡with¡¡random¡¡bytes¡¡¡¡

¡¡¡¡¡¡¡¡print£¨b£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Arrays¡£sort£¨b£©£»¡¡¡¡

¡¡¡¡¡¡¡¡print£¨b£©£»¡¡¡¡

¡¡¡¡¡¡¡¡int¡¡loc¡¡=¡¡Arrays¡£binarySearch£¨b£»¡¡b£§10£§£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Location¡¡of¡¡¡¨¡¡£«¡¡b£§10£§¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨¡¡=¡¡¡¨¡¡£«¡¡loc£©£»¡¡¡¡

¡¡¡¡¡¡¡¡//¡¡Test¡¡String¡¡sort¡¡&¡¡search£º¡¡¡¡

¡¡¡¡¡¡¡¡String£§£§¡¡s¡¡=¡¡randStrings£¨4£»¡¡10£©£»¡¡¡¡

¡¡¡¡¡¡¡¡print£¨s£©£»¡¡¡¡

¡¡¡¡¡¡¡¡Arrays¡£sort£¨s£©£»¡¡¡¡

¡¡¡¡¡¡¡¡print£¨s£©£»¡¡¡¡

¡¡¡¡¡¡¡¡loc¡¡=¡¡Arrays¡£binarySearch£¨s£»¡¡s£§4£§£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Location¡¡of¡¡¡¨¡¡£«¡¡s£§4£§¡¡£«¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¨¡¡=¡¡¡¨¡¡£«¡¡loc£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

ÀàµÄµÚÒ»²¿·Ö°üº¬ÁËÓÃÓÚ²úÉúËæ»ú×Ö´®¶ÔÏóµÄʵÓù¤¾ß£¬¿É¹©Ñ¡ÔñµÄËæ»ú×Öĸ±£´æÔÚÒ»¸ö×Ö·ûÊý×éÖС£¡¡

randString£¨£©·µ»ØÒ»¸öÈÎÒⳤ¶ÈµÄ×Ö´®£»¶ø¡¡readStrings£¨£©´´½¨Ëæ»ú×Ö´®µÄÒ»¸öÊý×飬ͬʱ¸ø¶¨Ã¿¸ö×Ö´®µÄ¡¡

³¤¶ÈÒÔ¼°Ï£ÍûµÄÊý×é´óС¡£Á½¸öprint£¨£©·½·¨¼ò»¯Á˶Ôʾ·¶Êý×éµÄÏÔʾ¡£ÔÚ¡¡main£¨£©ÖУ¬Random¡£nextBytes£¨£©¡¡

ÓÃËæ»úÑ¡ÔñµÄ×Ö½ÚÌî³äÊý×é×Ô±äÁ¿£¨Ã»ÓжÔÓ¦µÄRandom¡¡·½·¨ÓÃÓÚ´´½¨ÆäËû»ù±¾Êý¾ÝÀàÐ͵ÄÊý×飩¡£»ñµÃÒ»¸ö¡¡

Êý×éºó£¬±ã¿É·¢ÏÖΪÁËÖ´ÐÐsort£¨£©»òÕß¡¡binarySearch£¨£©£¬Ö»Ðè·¢³öÒ»´Î·½·¨µ÷Óü´¿É¡£ÓëbinarySearch£¨£©¡¡

ÓйصĻ¹ÓÐÒ»¸öÖØÒªµÄ¾¯¸æ£ºÈôÔÚÖ
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨1£© ²È£¨1£©
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡