°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ËØ£¨Í¬ÑùµØ£¬Ö»½¨Òé¶Ô¡¡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£¬Ö»ÊǾßÓв»Í¬µÄÐÐΪ£¨ÕâÊÇʵÀýºÍ¶àÐÎÐÔ×îÀíÏëµÄÓ¦ÓãºÓÃÓÚ±í´ï²»Í¬µÄÐС¡
Ϊ£©¡£ÔÚÕâÀһ¸öSet¡¡Ö»ÔÊÐíÿ¸ö¶ÔÏó´æÔÚÒ»¸öʵÀý£¨ÕýÈç´ó¼ÒÒÔºó»á¿´µ½µÄÄÇÑù£¬Ò»¸ö¶ÔÏóµÄ¡°Öµ¡±µÄ¡¡
¹¹³ÉÊÇÏ൱¸´Ôӵģ©¡£¡¡¡¡
¡¡¡¡
S¡¡e¡¡t¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Each¡¡element¡¡that¡¡you¡¡add¡¡to¡¡the¡¡Set¡¡¡¡must¡¡be¡¡unique£»¡¡otherwise¡¡the¡¡Set¡¡¡¡doesn¡¯t¡¡¡¡
£¨interface£©¡¡add¡¡the¡¡duplicate¡¡element¡£¡¡Objects¡¡added¡¡to¡¡a¡¡Set¡¡¡¡must¡¡define¡¡e¡¡q¡¡u¡¡a¡¡l¡¡s¡¡£¨¡¡¡¡¡¡£©¡¡¡¡to¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡establish¡¡object¡¡uniqueness¡£¡¡Set¡¡¡¡has¡¡exactly¡¡the¡¡same¡¡interface¡¡as¡¡Collection¡£¡¡The¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Set¡¡¡¡interface¡¡does¡¡not¡¡guarantee¡¡it¡¡will¡¡maintain¡¡its¡¡elements¡¡in¡¡any¡¡particular¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡order¡£¡¡¡¡
H¡¡a¡¡s¡¡h¡¡S¡¡e¡¡t¡¡*¡¡¡¡¡¡For¡¡Set¡¡s¡¡where¡¡fast¡¡lookup¡¡time¡¡is¡¡important¡£¡¡Objects¡¡must¡¡also¡¡define¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡h¡¡a¡¡s¡¡h¡¡C¡¡o¡¡d¡¡e¡¡£¨¡¡¡¡£©¡¡¡£¡¡¡¡
T¡¡r¡¡e¡¡e¡¡S¡¡e¡¡t¡¡¡¡¡¡An¡¡ordered¡¡Set¡¡¡¡backed¡¡by¡¡a¡¡red¡black¡¡tree¡£¡¡This¡¡way£»¡¡you¡¡can¡¡extract¡¡an¡¡ordered¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sequence¡¡from¡¡a¡¡Set¡¡¡£¡¡¡¡
¡¡¡¡
¡¡¡¡
Set¡¡£¨½Ó¿Ú£©¡¡Ìí¼Óµ½¡¡Set¡¡µÄÿ¸öÔªËض¼±ØÐëÊǶÀÒ»ÎÞ¶þµÄ£»·ñÔòSet¡¡¾Í²»»áÌí¼ÓÖظ´µÄÔªËØ¡£Ìí¼Óµ½¡¡Set¡¡Àï¡¡
µÄ¶ÔÏó±ØÐ붨Òåequals£¨£©£¬´Ó¶ø½¨Á¢¶ÔÏóµÄΨһÐÔ¡£Set¡¡ÓµÓÐÓë¡¡Collection¡¡ÍêÈ