ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ61²¿·Ö
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡
¡¡¡¡¡¡¡¡print£¨c£©£»¡¡¡¡
¡¡¡¡¡¡¡¡c¡£remove£¨¡¨3¡¨£©£»¡¡//¡¡Removes¡¡the¡¡first¡¡one¡¡¡¡
¡¡¡¡¡¡¡¡print£¨c£©£»¡¡¡¡
¡¡¡¡¡¡¡¡c¡£remove£¨¡¨3¡¨£©£»¡¡//¡¡Removes¡¡the¡¡second¡¡one¡¡¡¡
¡¡¡¡¡¡¡¡print£¨c£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Remove¡¡all¡¡ponents¡¡that¡¡are¡¡in¡¡the¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡argument¡¡collection£º¡¡¡¡
¡¡¡¡¡¡¡¡c¡£removeAll£¨newCollection£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨c£©£»¡¡¡¡
¡¡¡¡¡¡¡¡c¡£addAll£¨newCollection£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨c£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Is¡¡an¡¡element¡¡in¡¡this¡¡Collection£¿¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¨c¡£contains£¨¡±4¡±£©¡¡=¡¡¡¨¡¡£«¡¡c¡£contains£¨¡¨4¡¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Is¡¡a¡¡Collection¡¡in¡¡this¡¡Collection£¿¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¨c¡£containsAll£¨newCollection£¨£©£©¡¡=¡¡¡¨¡¡£«¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡c¡£containsAll£¨newCollection£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡Collection¡¡c2¡¡=¡¡newCollection£¨5£»¡¡3£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Keep¡¡all¡¡the¡¡elements¡¡that¡¡are¡¡in¡¡both¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡c¡¡and¡¡c2¡¡£¨an¡¡intersection¡¡of¡¡sets£©£º¡¡¡¡
¡¡¡¡¡¡¡¡c¡£retainAll£¨c2£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨c£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Throw¡¡away¡¡all¡¡the¡¡elements¡¡in¡¡c¡¡that¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡also¡¡appear¡¡in¡¡c2£º¡¡¡¡
¡¡¡¡¡¡¡¡c¡£removeAll£¨c2£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨c¡£isEmpty£¨£©¡¡=¡¡¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡c¡£isEmpty£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡c¡¡=¡¡newCollection£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨c£©£»¡¡¡¡
¡¡¡¡¡¡¡¡c¡£clear£¨£©£»¡¡//¡¡Remove¡¡all¡¡elements¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨after¡¡c¡£clear£¨£©£º¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨c£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ͨ¹ýµÚÒ»¸ö·½·¨£¬ÎÒÃÇ¿ÉÓòâÊÔÊý¾ÝÌî³äÈκμ¯ºÏ¡£ÔÚµ±Ç°ÕâÖÖÇé¿öÏ£¬Ö»Êǽ«¡¡int¡¡×ª»»³É¡¡String¡£µÚ¶þ¸ö¡¡
·½·¨½«ÔÚ±¾ÕÂÆäÓàµÄ²¿·Ö¾³£²ÉÓᣡ¡¡¡
newCollection£¨£©µÄÁ½¸ö°æ±¾¶¼´´½¨ÁËArrayList£¬ÓÃÓÚ°üº¬²»Í¬µÄÊý¾Ý¼¯£¬²¢½«ËüÃÇ×÷Ϊ¼¯ºÏ¶ÔÏ󷵻ء£Ëù¡¡
ÒÔºÜÃ÷ÏÔ£¬³ýÁËCollection¡¡½Ó¿ÚÖ®Í⣬²»»áÔÙÓõ½ÆäËûʲô¡£¡¡¡¡
print£¨£©·½·¨Ò²»áÔÚ±¾½Ú¾³£Óõ½¡£ÓÉÓÚËüÓÃÒ»¸ö·´¸´Æ÷£¨Iterator¡¡£©ÔÚÒ»¸ö¼¯ºÏÄÚ±éÀú£¬¶øÈκμ¯ºÏ¶¼¿ÉÒÔ¡¡
²úÉúÕâÑùµÄÒ»¸ö·´¸´Æ÷£¬ËùÒÔËüÊÊÓÃÓÚList¡¡ºÍSet£¬Ò²ÊÊÓÃÓÚÓÉÒ»¸öMap¡¡Éú³ÉµÄCollection¡£¡¡¡¡
main£¨£©Óüòµ¥µÄÊÖ¶ÎÏÔʾ³öÁ˼¯ºÏÄÚµÄËùÓз½·¨¡£¡¡¡¡
ÔÚºóÐøµÄС½ÚÀÎÒÃǽ«±È½Ï¡¡List¡¡£¬Set¡¡ºÍ¡¡Map¡¡µÄ²»Í¬ÊµÏÖ·½°¸£¬Í¬Ê±Ö¸³öÔÚ¸÷ÖÖÇé¿öÏÂÄÄÒ»ÖÖ·½°¸Ó¦³ÉΪ¡¡
Ê×Ñ¡£¨´øÓÐÐǺŵÄÄǸö£©¡£´ó¼Ò»á·¢ÏÖÕâÀﲢδ°üÀ¨Ò»Ð©´«Í³µÄÀ࣬ÈçVector£¬Stack¡¡ÒÔ¼°Hashtable¡¡µÈ¡£¡¡
ÒòΪ²»¹ÜÔÚʲôÇé¿öÏ£¬Ð¼¯ºÏÄÚ¶¼ÓÐ×Ô¼ºÊ×Ñ¡µÄÀà¡£¡¡¡¡
8¡£7¡£2¡¡¡¡Ê¹Óá¡Lists¡¡¡¡
¡¡¡¡
L¡¡i¡¡s¡¡t¡¡¡¡¡¡¡¡¡¡¡¡Order¡¡is¡¡the¡¡most¡¡important¡¡feature¡¡of¡¡a¡¡L¡¡i¡¡s¡¡t¡¡£»¡¡it¡¡promises¡¡to¡¡maintain¡¡elements¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡238¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡240¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
£¨interface£©¡¡¡¡in¡¡a¡¡particular¡¡sequence¡£¡¡L¡¡i¡¡s¡¡t¡¡adds¡¡a¡¡number¡¡of¡¡methods¡¡to¡¡Collection¡¡that¡¡allow¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡insertion¡¡and¡¡removal¡¡of¡¡elements¡¡in¡¡the¡¡middle¡¡of¡¡a¡¡L¡¡i¡¡s¡¡t¡¡¡£¡¡¡¡¡¡£¨This¡¡is¡¡remended¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡only¡¡for¡¡a¡¡L¡¡i¡¡n¡¡k¡¡e¡¡d¡¡L¡¡i¡¡s¡¡t¡¡¡£¡¡£©¡¡A¡¡List¡¡will¡¡produce¡¡a¡¡ListIterator¡¡£»¡¡and¡¡using¡¡this¡¡you¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡can¡¡traverse¡¡the¡¡L¡¡i¡¡s¡¡t¡¡¡¡in¡¡both¡¡directions£»¡¡as¡¡well¡¡as¡¡insert¡¡and¡¡remove¡¡elements¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡in¡¡the¡¡middle¡¡of¡¡the¡¡list¡¡£¨again£»¡¡remended¡¡only¡¡for¡¡a¡¡L¡¡i¡¡n¡¡k¡¡e¡¡d¡¡L¡¡i¡¡s¡¡t¡¡£©¡£¡¡¡¡
ArrayList*¡¡A¡¡L¡¡i¡¡s¡¡t¡¡¡¡backed¡¡by¡¡an¡¡array¡£¡¡Use¡¡instead¡¡of¡¡V¡¡e¡¡c¡¡t¡¡o¡¡r¡¡¡¡as¡¡a¡¡general¡purpose¡¡object¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡holder¡£¡¡Allows¡¡rapid¡¡random¡¡access¡¡to¡¡elements£»¡¡but¡¡is¡¡slow¡¡when¡¡inserting¡¡and¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡removing¡¡elements¡¡from¡¡the¡¡middle¡¡of¡¡a¡¡list¡£¡¡ListIterator¡¡¡¡should¡¡be¡¡used¡¡only¡¡for¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡back¡and¡forth¡¡traversal¡¡of¡¡an¡¡A¡¡r¡¡r¡¡a¡¡y¡¡L¡¡i¡¡s¡¡t¡¡£»¡¡but¡¡not¡¡for¡¡inserting¡¡and¡¡removing¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡elements£»¡¡which¡¡is¡¡expensive¡¡pared¡¡to¡¡L¡¡i¡¡n¡¡k¡¡e¡¡d¡¡L¡¡i¡¡s¡¡t¡¡¡£¡¡¡¡
LinkedList¡¡Provides¡¡optimal¡¡sequential¡¡access£»¡¡with¡¡inexpensive¡¡insertions¡¡and¡¡deletions¡¡from¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡the¡¡middle¡¡of¡¡the¡¡list¡£¡¡Relatively¡¡slow¡¡for¡¡random¡¡access¡£¡¡£¨Use¡¡A¡¡r¡¡r¡¡a¡¡y¡¡L¡¡i¡¡s¡¡t¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡instead¡££©¡¡Also¡¡has¡¡a¡¡d¡¡d¡¡F¡¡i¡¡r¡¡s¡¡t¡¡£¨¡¡¡¡£©¡¡£»¡¡a¡¡d¡¡d¡¡L¡¡a¡¡s¡¡t¡¡£¨¡¡¡¡£©¡¡£»¡¡g¡¡e¡¡t¡¡F¡¡i¡¡r¡¡s¡¡t¡¡£¨¡¡¡¡¡¡£©¡¡£»¡¡g¡¡e¡¡tLast£¨¡¡¡¡£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡r¡¡e¡¡m¡¡o¡¡v¡¡e¡¡F¡¡i¡¡r¡¡s¡¡t¡¡£¨¡¡¡¡¡¡£©¡¡£»¡¡and¡¡r¡¡e¡¡m¡¡o¡¡v¡¡e¡¡L¡¡a¡¡s¡¡t¡¡£¨¡¡¡¡¡¡£©¡¡¡¡£¨which¡¡are¡¡not¡¡defined¡¡in¡¡any¡¡interfaces¡¡or¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡base¡¡classes£©¡¡to¡¡allow¡¡it¡¡to¡¡be¡¡used¡¡as¡¡a¡¡stack£»¡¡a¡¡queue£»¡¡and¡¡a¡¡dequeue¡£¡¡¡¡
¡¡¡¡
¡¡¡¡
List¡¡£¨½Ó¿Ú£©¡¡Ë³ÐòÊÇ¡¡List¡¡×îÖØÒªµÄÌØÐÔ£»Ëü¿É±£Ö¤ÔªËØ°´Õչ涨µÄ˳ÐòÅÅÁС£List¡¡Îª¡¡Collection¡¡Ìí¼ÓÁË¡¡
´óÁ¿·½·¨£¬ÒÔ±ãÎÒÃÇÔÚ¡¡List¡¡Öв¿²åÈëºÍɾ³ýÔªËØ£¨Ö»ÍƼö¶ÔLinkedList¡¡ÕâÑù×ö£©¡£List¡¡Ò²»áÉú³ÉÒ»¸ö¡¡
ListIterator¡¡£¨ÁÐ±í·´¸´Æ÷£©£¬ÀûÓÃËü¿ÉÔÚÒ»¸öÁбíÀﳯÁ½¸ö·½Ïò±éÀú£¬Í¬Ê±²åÈëºÍɾ³ýλÓÚÁбíÖв¿µÄÔª¡¡
ËØ£¨Í¬ÑùµØ£¬Ö»½¨Òé¶Ô¡¡LinkedList¡¡ÕâÑù×ö£©¡¡¡¡
ArrayList¡¡£ª¡¡ÓÉÒ»¸öÊý×éºóÍƵõ½µÄList¡¡¡£×÷Ϊһ¸ö³£¹æÓÃ;µÄ¶ÔÏóÈÝÆ÷ʹÓã¬ÓÃÓÚÌæ»»ÔÏȵÄVector¡£ÔÊ¡¡
ÐíÎÒÃÇ¿ìËÙ·ÃÎÊÔªËØ£¬µ«ÔÚ´ÓÁбíÖв¿²åÈëºÍɾ³ýÔªËØʱ£¬ËÙ¶ÈÈ´ÏÓÉÔÂý¡£Ò»°ãÖ»Ó¦¸ÃÓÃListIterator¡¡¶ÔÒ»¡¡
¸öArrayList¡¡½øÐÐÏòÇ°ºÍÏòºó±éÀú£¬²»ÒªÓÃËüɾ³ýºÍ²åÈëÔªËØ£»Óë¡¡LinkedList¡¡Ïà±È£¬ËüµÄЧÂÊÒªµÍÐí¶à¡¡¡¡
LinkedList¡¡ÌṩÓÅ»¯µÄ˳Ðò·ÃÎÊÐÔÄÜ£¬Í¬Ê±¿ÉÒÔ¸ßЧÂʵØÔÚÁбíÖв¿½øÐвåÈëºÍɾ³ý²Ù×÷¡£µ«ÔÚ½øÐÐËæ»ú·Ã¡¡
ÎÊʱ£¬ËÙ¶ÈÈ´Ï൱Âý£¬´ËʱӦ»»ÓÃArrayList¡£Ò²ÌṩÁËaddFirst£¨£©£¬addLast£¨£©£¬getFirst£¨£©£¬¡¡
getLast£¨£©£¬removeFirst£¨£©¡¡ÒÔ¼°removeLast£¨£©¡¡£¨Î´ÔÚÈκνӿڻò»ù´¡ÀàÖж¨Ò壩£¬ÒԱ㽫Æä×÷Ϊһ¸ö¹æ¸ñ¡¢¡¡
¶ÓÁÐÒÔ¼°Ò»¸öË«Ïò¶ÓÁÐʹÓá¡¡¡
¡¡¡¡
ÏÂÃæÕâ¸öÀý×ÓÖеķ½·¨Ã¿¸ö¶¼¸²¸ÇÁËÒ»×鲻ͬµÄÐÐΪ£ºÃ¿¸öÁÐ±í¶¼ÄÜ×öµÄÊÂÇ飨basicTest£¨£©£©£¬Í¨¹ýÒ»¸ö·´¡¡
¸´Æ÷±éÀú£¨iterMotion£¨£©£©¡¢ÓÃÒ»¸ö·´¸´Æ÷¸Ä±äijЩ¶«Î÷£¨iterManipulation£¨£©£©¡¢ÌåÑéÁÐ±í´¦ÀíµÄЧ¹û¡¡
¡¡£¨testVisual£¨£©£©ÒÔ¼°Ö»ÓÐLinkedList¡¡²ÅÄÜ×öµÄÊÂÇéµÈ£º¡¡¡¡
¡¡¡¡
//£º¡¡List1¡£java¡¡¡¡
//¡¡Things¡¡you¡¡can¡¡do¡¡with¡¡Lists¡¡¡¡
package¡¡c08¡£newcollections£»¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡List1¡¡£û¡¡¡¡
¡¡¡¡//¡¡Wrap¡¡Collection1¡£fill£¨£©¡¡for¡¡convenience£º¡¡¡¡
¡¡¡¡public¡¡static¡¡List¡¡fill£¨List¡¡a£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡£¨List£©Collection1¡£fill£¨a£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡//¡¡You¡¡can¡¡use¡¡an¡¡Iterator£»¡¡just¡¡as¡¡with¡¡a¡¡¡¡
¡¡¡¡//¡¡Collection£»¡¡but¡¡you¡¡can¡¡also¡¡use¡¡random¡¡¡¡
¡¡¡¡//¡¡access¡¡with¡¡get£¨£©£º¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡print£¨List¡¡a£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡for£¨int¡¡i¡¡=¡¡0£»¡¡i¡¡¡¶¡¡a¡£size£¨£©£»¡¡i£«£«£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£print£¨a¡£get£¨i£©¡¡£«¡¡¡¨¡¡¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡239¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡241¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡static¡¡boolean¡¡b£»¡¡¡¡
¡¡¡¡static¡¡Object¡¡o£»¡¡¡¡
¡¡¡¡static¡¡int¡¡i£»¡¡¡¡
¡¡¡¡static¡¡Iterator¡¡it£»¡¡¡¡
¡¡¡¡static¡¡ListIterator¡¡lit£»¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡basicTest£¨List¡¡a£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡a¡£add£¨1£»¡¡¡¨x¡¨£©£»¡¡//¡¡Add¡¡at¡¡location¡¡1¡¡¡¡
¡¡¡¡¡¡¡¡a¡£add£¨¡¨x¡¨£©£»¡¡//¡¡Add¡¡at¡¡end¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Add¡¡a¡¡collection£º¡¡¡¡
¡¡¡¡¡¡¡¡a¡£addAll£¨fill£¨new¡¡ArrayList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Add¡¡a¡¡collection¡¡starting¡¡at¡¡location¡¡3£º¡¡¡¡
¡¡¡¡¡¡¡¡a¡£addAll£¨3£»¡¡fill£¨new¡¡ArrayList£¨£©£©£©£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡b¡¡=¡¡a¡£contains£¨¡¨1¡¨£©£»¡¡//¡¡Is¡¡it¡¡in¡¡there£¿¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Is¡¡the¡¡entire¡¡collection¡¡in¡¡there£¿¡¡¡¡
¡¡¡¡¡¡¡¡b¡¡=¡¡a¡£containsAll£¨fill£¨new¡¡ArrayList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Lists¡¡allow¡¡random¡¡access£»¡¡which¡¡is¡¡cheap¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡for¡¡ArrayList£»¡¡expensive¡¡for¡¡LinkedList£º¡¡¡¡
¡¡¡¡¡¡¡¡o¡¡=¡¡a¡£get£¨1£©£»¡¡//¡¡Get¡¡object¡¡at¡¡location¡¡1¡¡¡¡
¡¡¡¡¡¡¡¡i¡¡=¡¡a¡£indexOf£¨¡¨1¡¨£©£»¡¡//¡¡Tell¡¡index¡¡of¡¡object¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡indexOf£»¡¡starting¡¡search¡¡at¡¡location¡¡2£º¡¡¡¡
¡¡¡¡¡¡¡¡i¡¡=¡¡a¡£indexOf£¨¡¨1¡¨£»¡¡2£©£»¡¡¡¡
¡¡¡¡¡¡¡¡b¡¡=¡¡a¡£isEmpty£¨£©£»¡¡//¡¡Any¡¡elements¡¡inside£¿¡¡¡¡
¡¡¡¡¡¡¡¡it¡¡=¡¡a¡£iterator£¨£©£»¡¡//¡¡Ordinary¡¡Iterator¡¡¡¡
¡¡¡¡¡¡¡¡lit¡¡=¡¡a¡£listIterator£¨£©£»¡¡//¡¡ListIterator¡¡¡¡
¡¡¡¡¡¡¡¡lit¡¡=¡¡a¡£listIterator£¨3£©£»¡¡//¡¡Start¡¡at¡¡loc¡¡3¡¡¡¡
¡¡¡¡¡¡¡¡i¡¡=¡¡a¡£lastIndexOf£¨¡¨1¡¨£©£»¡¡//¡¡Last¡¡match¡¡¡¡¡¡
¡¡¡¡¡¡¡¡i¡¡=¡¡a¡£lastIndexOf£¨¡¨1¡¨£»¡¡2£©£»¡¡//¡¡¡£¡£¡£after¡¡loc¡¡2¡¡¡¡
¡¡¡¡¡¡¡¡a¡£remove£¨1£©£»¡¡//¡¡Remove¡¡location¡¡1¡¡¡¡
¡¡¡¡¡¡¡¡a¡£remove£¨¡¨3¡¨£©£»¡¡//¡¡Remove¡¡this¡¡object¡¡¡¡
¡¡¡¡¡¡¡¡a¡£set£¨1£»¡¡¡¨y¡¨£©£»¡¡//¡¡Set¡¡location¡¡1¡¡to¡¡¡¨y¡¨¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Keep¡¡everything¡¡that's¡¡in¡¡the¡¡argument¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡£¨the¡¡intersection¡¡of¡¡the¡¡two¡¡sets£©£º¡¡¡¡
¡¡¡¡¡¡¡¡a¡£retainAll£¨fill£¨new¡¡ArrayList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Remove¡¡elements¡¡in¡¡this¡¡range£º¡¡¡¡
¡¡¡¡¡¡¡¡a¡£removeRange£¨0£»¡¡2£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Remove¡¡everything¡¡that's¡¡in¡¡the¡¡argument£º¡¡¡¡
¡¡¡¡¡¡¡¡a¡£removeAll£¨fill£¨new¡¡ArrayList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡i¡¡=¡¡a¡£size£¨£©£»¡¡//¡¡How¡¡big¡¡is¡¡it£¿¡¡¡¡
¡¡¡¡¡¡¡¡a¡£clear£¨£©£»¡¡//¡¡Remove¡¡all¡¡elements¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡iterMotion£¨List¡¡a£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡ListIterator¡¡it¡¡=¡¡a¡£listIterator£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡b¡¡=¡¡it¡£hasNext£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡b¡¡=¡¡it¡£hasPrevious£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡o¡¡=¡¡it¡£next£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡i¡¡=¡¡it¡£nextIndex£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡o¡¡=¡¡it¡£previous£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡i¡¡=¡¡it¡£previousIndex£¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡iterManipulation£¨List¡¡a£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡ListIterator¡¡it¡¡=¡¡a¡£listIterator£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡it¡£add£¨¡¨47¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡240¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡242¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Must¡¡move¡¡to¡¡an¡¡element¡¡after¡¡add£¨£©£º¡¡¡¡
¡¡¡¡¡¡¡¡it¡£next£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Remove¡¡the¡¡element¡¡that¡¡was¡¡just¡¡produced£º¡¡¡¡
¡¡¡¡¡¡¡¡it¡£remove£¨£©£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Must¡¡move¡¡to¡¡an¡¡element¡¡after¡¡remove£¨£©£º¡¡¡¡
¡¡¡¡¡¡¡¡it¡£next£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Change¡¡the¡¡element¡¡that¡¡was¡¡just¡¡produced£º¡¡¡¡
¡¡¡¡¡¡¡¡it¡£set£¨¡¨47¡¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡testVisual£¨List¡¡a£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡print£¨a£©£»¡¡¡¡
¡¡¡¡¡¡¡¡List¡¡b¡¡=¡¡new¡¡ArrayList£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡fill£¨b£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£print£¨¡¨b¡¡=¡¡¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨b£©£»¡¡¡¡
¡¡¡¡¡¡¡¡a¡£addAll£¨b£©£»¡¡¡¡
¡¡¡¡¡¡¡¡a¡£addAll£¨fill£¨new¡¡ArrayList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨a£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Shrink¡¡the¡¡list¡¡by¡¡removing¡¡all¡¡the¡¡¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡elements¡¡beyond¡¡the¡¡first¡¡1/2¡¡of¡¡the¡¡list¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨a¡£size£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨a¡£size£¨£©/2£©£»¡¡¡¡
¡¡¡¡¡¡¡¡a¡£removeRange£¨a¡£size£¨£©/2£»¡¡a¡£size£¨£©/2¡¡£«¡¡2£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨a£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Insert£»¡¡remove£»¡¡and¡¡replace¡¡elements¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡using¡¡a¡¡ListIterator£º¡¡¡¡
¡¡¡¡¡¡¡¡ListIterator¡¡x¡¡=¡¡a¡£listIterator£¨a¡£size£¨£©/2£©£»¡¡¡¡
¡¡¡¡¡¡¡¡x¡£add£¨¡¨one¡¨£©£»¡¡¡¡¡¡
¡¡¡¡¡¡¡¡print£¨a£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨x¡£next£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡x¡£remove£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨x¡£next£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡x¡£set£¨¡¨47¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨a£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Traverse¡¡the¡¡list¡¡backwards£º¡¡¡¡
¡¡¡¡¡¡¡¡x¡¡=¡¡a¡£listIterator£¨a¡£size£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡while£¨x¡£hasPrevious£¨£©£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£print£¨x¡£previous£¨£©¡¡£«¡¡¡¨¡¡¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨testVisual¡¡finished¡¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡//¡¡There¡¡are¡¡some¡¡things¡¡that¡¡only¡¡¡¡
¡¡¡¡//¡¡LinkedLists¡¡can¡¡do£º¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡testLinkedList£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡LinkedList¡¡ll¡¡=¡¡new¡¡LinkedList£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡Collection1¡£fill£¨ll£»¡¡5£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨ll£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Treat¡¡it¡¡like¡¡a¡¡stack£»¡¡pushing£º¡¡¡¡
¡¡¡¡¡¡¡¡ll¡£addFirst£¨¡¨one¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡ll¡£addFirst£¨¡¨two¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡print£¨ll£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Like¡¡¡¨peeking¡¨¡¡at¡¡the¡¡top¡¡of¡¡a¡¡stack£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡241¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡243¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨ll¡£getFirst£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Like¡¡popping¡¡a¡¡stack£º¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨ll¡£removeFirst£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨ll¡£removeFirst£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Treat¡¡it¡¡like¡¡a¡¡queue£»¡¡pulling¡¡elements¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡off¡¡the¡¡tail¡¡end£º¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨ll¡£removeLast£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡With¡¡the¡¡above¡¡operations£»¡¡it's¡¡a¡¡dequeue£¡¡¡¡¡
¡¡¡¡¡¡¡¡print£¨ll£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String¡¡args£§£§£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡Make¡¡and¡¡fill¡¡a¡¡new¡¡list¡¡each¡¡time£º¡¡¡¡
¡¡¡¡¡¡¡¡basicTest£¨fill£¨new¡¡LinkedList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡basicTest£¨fill£¨new¡¡ArrayList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡iterMotion£¨fill£¨new¡¡LinkedList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡iterMotion£¨fill£¨new¡¡ArrayList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡iterManipulation£¨fill£¨new¡¡LinkedList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡iterManipulation£¨fill£¨new¡¡ArrayList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡testVisual£¨fill£¨new¡¡LinkedList£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡testLinkedList£¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ÔÚbasicTest£¨£©ºÍ¡¡iterMotiion£¨£©¡¡ÖУ¬Ö»ÊǼòµ¥µØ·¢³öµ÷Óã¬ÒÔ±ã½Òʾ³öÕýÈ·µÄÓï·¨¡£¶øÇÒ¾¡¹Ü²¶»ñÁË·µ»Ø¡¡
Öµ£¬µ«ÊDz¢Î´Ê¹ÓÃËü¡£ÔÚijЩÇé¿öÏ£¬Ö®ËùÒÔ²»²¶»ñ·µ»ØÖµ£¬ÊÇÓÉÓÚËüÃÇûÓÐʲôÌرðµÄÓô¦¡£ÔÚÕýʽʹÓá¡
ËüÃÇÇ°£¬Ó¦×ÐϸÑо¿Ò»ÏÂ×Ô¼ºµÄÁª»úÎĵµ£¬ÕÆÎÕÕâЩ·½·¨ÍêÕû¡¢ÕýÈ·µÄÓ÷¨¡£¡¡¡¡
8¡£7¡£3¡¡¡¡Ê¹Óá¡Sets¡¡¡¡
Set¡¡ÓµÓÐÓë¡¡Collection¡¡ÍêÈ«ÏàͬµÄ½Ó¿Ú£¬ËùÒÔºÍÁ½ÖÖ²»Í¬µÄ¡¡List¡¡²»Í¬£¬ËüûÓÐʲô¶îÍâµÄ¹¦ÄÜ¡£Ïà·´£¬Set¡¡
ÍêÈ«¾ÍÊÇÒ»¸öCollection£¬Ö»ÊǾßÓв»Í¬µÄÐ
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾Ñé½±Àø£¬ÈÏÕæдԴ´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾Ñé½±ÀøŶ£¡