j**aÖÐsetºÍgetÓ÷¨?

ʱ¼ä£º2013.05.02 ·¢²¼ÈË£ºsilentfox001

j**aÖÐsetºÍgetÓ÷¨?

Òѽâ¾öÎÊÌâ

¹È¸èsilentfox001Óû§ÔÚ2013.05.02Ìá½»Á˹ØÓÚ¡°Ì©Ì¹j**aÖÐsetºÍgetÓ÷¨?¡±µÄÌáÎÊ£¬»¶Ó­´ó¼ÒÓ¿Ô¾·¢±í×Ô¼ºµÄ¹Ûµã¡£Ä¿Ç°¹²ÓÐ1¸ö»Ø´ð£¬×îºó¸üÐÂÓÚ2024-08-13T10:09:26¡£Ï£Íû´ó¼ÒÄܹ»°ïÖúËý¡£

ÏêϸÎÊÌâÃèÊö¼°ÒÉÎÊ£ºÆÚ´ýÄúµÄ´ð°¸£¬ÎÒ²»ÖªµÀ˵ʲô²ÅºÃ,³ýÁËлл £¡

Ï£ÍûÒÔϵĻشð£¬Äܹ»°ïÖúÄã¡£

µÚ1¸ö»Ø´ð

Óû§Ãû£ºminaj2011  

ArrayListVectorLinkedListÇø±ðÓëÓ÷¨

Arr¿ÌÓÚµÍÕñayListºÍVe²ã¸ÕÈëËÀÖªÒòÉýctorÊDzÉÓÃÊý×鷽ʽ´æ´¢**£¬´ËÊý×éÔªËØÊý´óÓÚÎÊ´ðʵ¼Ê´æ´¢µÄ**ÒÔ±ãÔö¼ÓºÍ²åÈëÔªËØ£¬¶¼ÔÊÐíÖ±½ÓÐòºÅË÷ÒýÔªËØ£¬µ«ÊDzåÈë**ÒªÉè¼Æµ½Êý×éÔªËØÒƶ¯µÈÄÚ´æ²Ù×÷£¬ËùÒÔË÷Òý**¿ì²åÈë**Âý£¬VectorÓÉÓÚʹÓÃÁËsynchronized·½·¨£¨Ḭ̈߳²È«£©¼ÛËõ´«´ðÊöÕù¾©³ÂËùÒÔÐÔÄÜÉϱÈArraÐûÊøÒ¶ÏòÊØÁÙÎÕ¹ÌyListÒª²î£¬LµÐÖÃÒºÈÃinkedLisËãÈýÍâÓ¢Ëß±£°¡½ÓÁ½tʹÓÃË«ÏòÁ´±íʵÏÖ´æ´¢£¬°´ÐòºÅË÷Òý**ÐèÒª½øÐÐÏòÇ°»òÏòºó±éÀúÁËÀ´·¹Î££¬µ«ÊDzåÈë**ʱֻÐèÒª¼Ç¼±¾ÏîµÄÇ°ºóÏî¼´¿É£¬ËùÒÔ²åÈëÊý¶È½Ï¿ì£¡

ÏßÐÔ±í£¬Á´±í£¬¹þÏ£±íÊdz£ÓõÄ**½á¹¹£¬ÔÚ½øÐÐJ**a¿ª·¢Ê±£¬JDKÒѾ­ÎªÎÒÃÇÌṩÁËһϵÁÐÏàÓ¦µÄÀàÀ´ÊµÏÖ»ù±¾µÄ**½á¹¹¡£ÕâЩÀà¾ùÔÚj**a.util°üÖС£±¾ÎÄÊÔͼͨ¹ý¼òµ¥µÄÃèÊö£¬Ïò¶ÁÕß²ûÊö¸÷¸öÀàµÄ×÷ÓÃÒÔ¼°ÈçºÎÕýȷʹÓÃÕâЩÀà¡£

Collection
©ÀList
©¦©ÀLinkedList
©¦©ÀArrayList
©¦©¸Vector
©¦©¸StÌؾÓζԲ¾«ack
©¸Set
Map
©Àh**ashtable
©Àh**ashMap
©¸We**h**ashMap

Collection½Ó¿Ú
ColÉÕlectionÊÇ×î»ù±¾µÄ¼¯°¸½ðÉ󽥸º¸ººÏ½Ó¿Ú£¬Ò»¸öCollection´ú±íÒ»×éObject£¬¼´CollectionµÄÔªËØ£¨Elements£©¡£Ò»Ð©CollectionÔÊÐíÏàͬµÄÔªËضøÁíһЩ²»ÐС£Ò»Ð©ÄÜÅÅÐò¶øÁíһЩ²»ÐС£J**aSDK²»Ìṩֱ½Ó¼Ì³Ð×ÔCollectionµÄÀ࣬J**aSDKÌṩµÄÀ඼ÊǼ̳Ð×ÔCÓêÊ**âÁúѸollectionµÍÖµ´¬Àû¿îѪ½µÕ¹Ò½ÒªºËµÄ¡°×Ó½Ó¿Ú¡±ÈçListºÍSe°²ÄÚÒ»t¡£
ËùÓÐʵÏÖCollection½Ó¿ÚµÄÀ඼±ØÐëÌṩÁ½¸ö±ê×¼µÄ¹¹Ô캯Êý£ºÎÞ²ÎÊýµÄ¹¹Ô캯ÊýÓÃÓÚ´´½¨Ò»¸ö¿ÕµÄCollection£¬ÓвƱêË®ËüÆÚ»ÓÇåÒ»¸öCollection²ÎÊýµÄ¹¹Ô캯ÊýÓÃÓÚ´´½¨Ò»¸öеÄCollection£¬Õâ¸öеÄColleÄêÍûÈܸ¸ctionÓë´«ÈëµÄCollecÊÇÒòÇï¹ÜÎÕ¸»Ö³tionÓÐÏàͬµÄÔªËØ¡£ºóÒ»¸ö¹¹Ô캯ÊýÔÊÐíÓû§¸´ÖÆÒ»¸öCollectiʼon¡£
ÈçºÎ±éÀúCollectionÖеÄÿһ¸öÔªËØ£¿²»ÂÛCollectionµÄʵ¼ÊÀàÐÍÈçºÎ£¬Ëü¶¼Ö§³ÖÒ»¸öiteratÐÍ»ý·¶¹¤¹ÛÁÙ°ï¾íor()µÄ·½·¨£¬¸Ã·½·¨·µ»ØÒ»¸öµü´ú×Ó£¬Ê¹Óøõü´ú×Ó¼´¿ÉÖðÒ»·ÃÎÊCollectionÖÐÿһ¸öÔªËØ¡£µäÐ͵ÄÓ÷¨ÈçÏ£º
Iteratorit=collection.iterator();//»ñµÃÒ»¸öµü´ú×Ó
while(it.hasNext()){
Objectobj=***.next();//µÃµ½ÏÂÒ»¸öÔªËØ
}
ÓÉCollection½Ó¿ÚÅÉÉúµÄÁ½¸ö½Ó¿ÚÊÇListºÍSet¡£

List½Ó¿Ú
ListÊÇÓÐÐòµÄCollection£¬Ê¹Óô˽ӿÚÄܹ»¾«È·µÄ¿ØÖÆÿ¸öÔªËزåÈëµÄλÖá£Óû§Äܹ»Ê¹ÓÃË÷Òý£¨ÔªËØÔÚListÖеÄλÖã¬ÀàËÆÓÚÊý×éϱ꣩À´·ÃÎÊListÖеÄÔªËØ£¬ÕâÀàËÆÓÚJ**aµÄÊý×é¡£
ºÍÏÂÃæÒªÌáµ½µÄSet²»Í¬£¬ListÔÊÐíÓÐÏàͬµÄÔªËØ¡£
³ýÁ˾ßÓÐCollection½Ó¿Ú±Ø±¸µÄiterator()·½·¨Í⣬List»¹Ìṩһ¸ölistIterator()·½·¨£¬·µ»ØÒ»¸öListIterator½Ó¿Ú£¬ºÍ±ê×¼µÄIterator½Ó¿ÚÏà±È£¬ListIterator¶àÁËһЩadd()Ö®ÀàµÄ·½·¨£¬ÔÊÐíÌí¼Ó£¬É¾³ý£¬É趨ԪËØ£¬»¹ÄÜÏòÇ°»òÏòºó±éÀú¡£
ʵÏÖList½Ó¿ÚµÄ³£ÓÃÀàÓÐLinkedList£¬ArrayList£¬VectorºÍStack¡£

LinkedListÀà
LinkedListʵÏÖÁËList½Ó¿Ú£¬ÔÊÐí**llÔªËØ¡£´ËÍâLinkedListÌṩ¶îÍâµÄget£¬remove£¬insert·½·¨ÔÚLinkedListµÄÊײ¿»òβ²¿¡£ÕâЩ²Ù×÷ʹLinkedList¿É±»ÓÃ×÷¶ÑÕ»£¨stack£©£¬¶ÓÁУ¨queue£©»òË«Ïò¶ÓÁУ¨deque£©¡£
×¢ÒâLinkedListûÓÐͬ²½·½·¨¡£Èç¹û¶à¸öÏß³Ìͬʱ·ÃÎÊÒ»¸öList£¬Ôò±ØÐë×Ô¼ºÊµÏÖ·ÃÎÊͬ²½¡£Ò»ÖÖ½â¾ö·½·¨ÊÇÔÚ´´½¨Listʱ¹¹ÔìÒ»¸öͬ²½µÄList£º
Listlist=Collections.synchronizedList(newLinkedList());

ArrayListÀà
ArrayListʵÏÖÁ˿ɱä´óСµÄÊý×é¡£ËüÔÊÐíËùÓÐÔªËØ£¬°üÀ¨**ll¡£ArrayListûÓÐͬ²½¡£
size£¬isEmpty£¬get£¬set·½·¨ÔËÐÐʱ¼äΪ³£Êý¡£µ«ÊÇadd·½·¨¿ªÏúΪ·Ö̯µÄ³£Êý£¬Ìí¼Ón¸öÔªËØÐèÒªO(n)µÄʱ¼ä¡£ÆäËûµÄ·½·¨ÔËÐÐʱ¼äΪÏßÐÔ¡£
ÿ¸öArrayListʵÀý¶¼ÓÐÒ»¸öÈÝÁ¿£¨Capacity£©£¬¼´ÓÃÓÚ´æ´¢ÔªËصÄÊý×éµÄ´óС¡£Õâ¸öÈÝÁ¿¿ÉËæ×Ų»¶ÏÌí¼ÓÐÂÔªËضø×Ô¶¯Ôö¼Ó£¬µ«ÊÇÔö³¤Ëã·¨²¢Ã»Óж¨Òå¡£µ±ÐèÒª²åÈë´óÁ¿ÔªËØʱ£¬ÔÚ²åÈëÇ°¿ÉÒÔµ÷ÓÃensureCapacity·½·¨À´Ôö¼ÓArrayListµÄÈÝÁ¿ÒÔÌá¸ß²åÈëЧÂÊ¡£
ºÍLinkedListÒ»Ñù£¬ArrayListÒ²ÊÇ·Çͬ²½µÄ£¨unsynchronized£©¡£

VectorÀà
Vector·Ç³£ÀàËÆArrayList£¬µ«ÊÇVectorÊÇͬ²½µÄ¡£ÓÉVector´´½¨µÄIterator£¬ËäÈ»ºÍArrayList´´½¨µÄIteratorÊÇͬһ½Ó¿Ú£¬µ«ÊÇ£¬ÒòΪVectorÊÇͬ²½µÄ£¬µ»¸öIterator±»´´½¨¶øÇÒÕýÔÚ±»Ê¹Óã¬ÁíÒ»¸öÏ̸߳ıäÁËVectorµÄ״̬£¨ÀýÈ磬Ìí¼Ó»òɾ³ýÁËһЩԪËØ£©£¬Õâʱµ÷ÓÃIteratorµÄ·½·¨Ê±½«Å׳öConcurrentModificationException£¬Òò´Ë±ØÐ벶»ñ¸ÃÒì³£¡£

StackÀà
Stack¼Ì³Ð×ÔVector£¬ÊµÏÖÒ»¸öºó½øÏȳöµÄ¶ÑÕ»¡£StackÌṩ5¸ö¶îÍâµÄ·½·¨Ê¹µÃVectorµÃÒÔ±»µ±×÷¶ÑջʹÓ᣻ù±¾µÄpushºÍpop·½·¨£¬»¹ÓÐpeek·½·¨µÃµ½Õ»¶¥µÄÔªËØ£¬empty·½·¨²âÊÔ¶ÑÕ»ÊÇ·ñΪ¿Õ£¬search·½·¨¼ì²âÒ»¸öÔªËØÔÚ¶ÑÕ»ÖеÄλÖá£Stack¸Õ´´½¨ºóÊÇ¿ÕÕ»¡£

Set½Ó¿Ú
SetÊÇÒ»ÖÖ²»°üº¬Öظ´µÄÔªËصÄCollection£¬¼´ÈÎÒâµÄÁ½¸öÔªËØe1ºÍe2¶¼ÓÐe1.equals(e2)=false£¬Set×î¶àÓÐÒ»¸ö**llÔªËØ¡£
ºÜÃ÷ÏÔ£¬SetµÄ¹¹Ô캯ÊýÓÐÒ»¸öÔ¼ÊøÌõ¼þ£¬´«ÈëµÄCollection²ÎÊý²»ÄÜ°üº¬Öظ´µÄÔªËØ¡£
Çë×¢Ò⣺±ØÐëСÐIJÙ×÷¿É±ä¶ÔÏó£¨MutableObject£©¡£Èç¹ûÒ»¸öSetÖеĿɱäÔªËظıäÁË×ÔÉí״̬µ¼ÖÂObject.equals(Object)=true½«µ¼ÖÂһЩÎÊÌâ¡£

Map½Ó¿Ú
Çë×¢Ò⣬MapûÓм̳ÐCollection½Ó¿Ú£¬MapÌṩkeyµ½valueµÄÓ³Éä¡£Ò»¸öMapÖв»ÄÜ°üº¬ÏàͬµÄkey£¬Ã¿¸ökeyÖ»ÄÜÓ³ÉäÒ»¸övalue¡£Map½Ó¿ÚÌṩ3ÖÖ¼¯ºÏµÄÊÓͼ£¬MapµÄÄÚÈÝ¿ÉÒÔ±»µ±×÷Ò»×ékey¼¯ºÏ£¬Ò»×évalue¼¯ºÏ£¬»òÕßÒ»×ékey-valueÓ³Éä¡£

h**ashtableÀà
h**ashtable¼Ì³ÐMap½Ó¿Ú£¬ÊµÏÖÒ»¸ökey-valueÓ³ÉäµÄ¹þÏ£±í¡£Èκηǿգ¨non-**ll£©µÄ¶ÔÏ󶼿É×÷Ϊkey»òÕßvalue¡£
Ìí¼Ó**ʹÓÃput(key,value)£¬È¡³ö**ʹÓÃget(key)£¬ÕâÁ½¸ö»ù±¾²Ù×÷µÄʱ¼ä¿ªÏúΪ³£Êý¡£
h**ashtableͨ¹ýinitialcapacityºÍloadfactorÁ½¸ö²ÎÊýµ÷ÕûÐÔÄÜ¡£Í¨³£È±Ê¡µÄloadfactor0.75½ÏºÃµØʵÏÖÁËʱ¼äºÍ¿Õ¼äµÄ¾ùºâ¡£Ôö´óloadfactor¿ÉÒÔ½ÚÊ¡¿Õ¼äµ«ÏàÓ¦µÄ²éÕÒʱ¼ä½«Ôö´ó£¬Õâ»áÓ°ÏìÏñgetºÍputÕâÑùµÄ²Ù×÷¡£
ʹÓÃh**ashtableµÄ¼òµ¥Ê¾ÀýÈçÏ£¬½«1£¬2£¬3·Åµ½h**ashtableÖУ¬ËûÃǵÄkey·Ö±ðÊÇ¡±one¡±£¬¡±two¡±£¬¡±three¡±£º
h**ashtable**mbers=newh**ashtable();
**mbers.put(¡°one¡±,newInteger(1));
**mbers.put(¡°two¡±,newInteger(2));
**mbers.put(¡°three¡±,newInteger(3));
Ҫȡ³öÒ»¸öÊý£¬±ÈÈç2£¬ÓÃÏàÓ¦µÄkey£º
Integern=(Integer)**mbers.get(¡°two¡±);
System.out.println(¡°two=¡±+n);
ÓÉÓÚ×÷ΪkeyµÄ¶ÔÏó½«Í¨¹ý¼ÆËãÆäÉ¢Áк¯ÊýÀ´È·¶¨ÓëÖ®¶ÔÓ¦µÄvalueµÄλÖã¬Òò´ËÈκÎ×÷ΪkeyµÄ¶ÔÏ󶼱ØÐëʵÏÖhashCodeºÍequals·½·¨¡£hashCodeºÍequals·½·¨¼Ì³Ð×Ô¸ùÀàObject£¬Èç¹ûÄãÓÃ×Ô¶¨ÒåµÄÀ൱×÷keyµÄ»°£¬ÒªÏ൱СÐÄ£¬°´ÕÕÉ¢Áк¯ÊýµÄ¶¨Ò壬Èç¹ûÁ½¸ö¶ÔÏóÏàͬ£¬¼´obj1.equals(obj2)=true£¬ÔòËüÃǵÄhashCode±ØÐëÏàͬ£¬µ«Èç¹ûÁ½¸ö¶ÔÏó²»Í¬£¬ÔòËüÃǵÄhashCode²»Ò»¶¨²»Í¬£¬Èç¹ûÁ½¸ö²»Í¬¶ÔÏóµÄhashCodeÏàͬ£¬ÕâÖÖÏÖÏó³ÆΪ³åÍ»£¬³åÍ»»áµ¼Ö²Ù×÷¹þÏ£±íµÄʱ¼ä¿ªÏúÔö´ó£¬ËùÒÔ¾¡Á¿¶¨ÒåºÃµÄhashCode()·½·¨£¬Äܼӿì¹þÏ£±íµÄ²Ù×÷¡£
Èç¹ûÏàͬµÄ¶ÔÏóÓв»Í¬µÄhashCode£¬¶Ô¹þÏ£±íµÄ²Ù×÷»á³öÏÖÒâÏë²»µ½µÄ½á¹û£¨ÆÚ´ýµÄget·½·¨·µ»Ø**ll£©£¬Òª±ÜÃâÕâÖÖÎÊÌ⣬ֻÐèÒªÀμÇÒ»Ìõ£ºÒªÍ¬Ê±¸´Ð´equals·½·¨ºÍhashCode·½·¨£¬¶ø²»ÒªÖ»Ð´ÆäÖÐÒ»¸ö¡£
h**ashtableÊÇͬ²½µÄ¡£

h**ashMapÀà
h**ashMapºÍh**ashtableÀàËÆ£¬²»Í¬Ö®´¦ÔÚÓÚh**ashMapÊÇ·Çͬ²½µÄ£¬²¢ÇÒÔÊÐí**ll£¬¼´**llvalueºÍ**llkey¡££¬µ«Êǽ«h**ashMapÊÓΪCollectionʱ£¨values()·½·¨¿É·µ»ØCollection£©£¬Æäµü´ú×Ó²Ù×÷ʱ¼ä¿ªÏúºÍh**ashMapµÄÈÝÁ¿³É±ÈÀý¡£Òò´Ë£¬Èç¹ûµü´ú²Ù×÷µÄÐÔÄÜÏ൱ÖØÒªµÄ»°£¬²»Òª½«h**ashMapµÄ³õʼ»¯ÈÝÁ¿ÉèµÃ¹ý¸¬»òÕßloadfactor¹ýµÍ¡£

We**h**ashMapÀà
We**h**ashMapÊÇÒ»ÖָĽøµÄh**ashMap£¬Ëü¶ÔkeyʵÐС°ÈõÒýÓá±£¬Èç¹ûÒ»¸ökey²»ÔÙ±»ÍⲿËùÒýÓã¬ÄÇô¸Ãkey¿ÉÒÔ±»GC»ØÊÕ¡£

×ܽá
Èç¹ûÉæ¼°µ½¶ÑÕ»£¬¶ÓÁеȲÙ×÷£¬Ó¦¸Ã¿¼ÂÇÓÃList£¬¶ÔÓÚÐèÒª¿ìËÙ²åÈ룬ɾ³ýÔªËØ£¬Ó¦¸ÃʹÓÃLinkedList£¬Èç¹ûÐèÒª¿ìËÙËæ»ú·ÃÎÊÔªËØ£¬Ó¦¸ÃʹÓÃArrayList¡£
Èç¹û³ÌÐòÔÚµ¥Ï̻߳·¾³ÖУ¬»òÕß·ÃÎʽö½öÔÚÒ»¸öÏß³ÌÖнøÐУ¬¿¼ÂÇ·Çͬ²½µÄÀ࣬ÆäЧÂʽϸ¬Èç¹û¶à¸öÏ߳̿ÉÄÜͬʱ²Ù×÷Ò»¸öÀ࣬Ӧ¸ÃʹÓÃͬ²½µÄÀà¡£
ÒªÌرð×¢Òâ¶Ô¹þÏ£±íµÄ²Ù×÷£¬×÷ΪkeyµÄ¶ÔÏóÒªÕýÈ·¸´Ð´equalsºÍhashCode·½·¨¡£
¾¡Á¿·µ»Ø½Ó¿Ú¶ø·Çʵ¼ÊµÄÀàÐÍ£¬Èç·µ»ØList¶ø·ÇArrayList£¬ÕâÑùÈç¹ûÒÔºóÐèÒª½«ArrayList»»³ÉLinkedListʱ£¬¿Í»§¶Ë´úÂë²»Óøı䡣Õâ¾ÍÊÇÕë¶Ô³éÏó±à³Ì¡£

ͬ²½ÐÔ
VectorÊÇͬ²½µÄ¡£Õâ¸öÀàÖеÄһЩ·½·¨±£ÁËVectorÖеĶÔÏóÊÇḬ̈߳²È«µÄ¡£¶øArrayListÔòÊÇÒì²½µÄ£¬Òò´ËArrayListÖеĶÔÏó²¢²»ÊÇḬ̈߳²È«µÄ¡£ÒòΪͬ²½µÄÒªÇó»áÓ°ÏìÖ´ÐеÄЧÂÊ£¬ËùÒÔÈç¹ûÄã²»ÐèÒªḬ̈߳²È«µÄ¼¯ºÏÄÇôʹÓÃArrayListÊÇÒ»¸öºÜºÃµÄÑ¡Ôñ£¬ÕâÑù¿ÉÒÔ±ÜÃâÓÉÓÚͬ²½´øÀ´µÄ²»±ØÒªµÄÐÔÄÜ¿ªÏú¡£
**Ôö³¤
´Ó**ʵÏÖ»úÖÆÀ´½²ArrayListºÍVector¶¼ÊÇʹÓÃÊý×é(Array)À´¿ØÖƼ¯ºÏÖеĶÔÏó¡£µ±ÄãÏòÕâÁ½ÖÖÀàÐÍÖÐÔö¼ÓÔªËصÄʱºò£¬Èç¹ûÔªËصÄÊýÄ¿³¬³öÁË**Êý×éÄ¿Ç°µÄ³¤¶ÈËüÃǶ¼ÐèÒªÀ©Õ¹**Êý×éµÄ³¤¶È£¬VectorȱʡÇé¿öÏÂ×Ô¶¯Ôö³¤Ô­À´Ò»±¶µÄÊý×鳤¶È£¬ArrayListÊÇÔ­À´µÄ50%,ËùÒÔ×îºóÄã»ñµÃµÄÕâ¸ö¼¯ºÏËùÕ¼µÄ¿Õ¼ä×ÜÊDZÈÄãʵ¼ÊÐèÒªµÄÒª´ó¡£ËùÒÔÈç¹ûÄãÒªÔÚ¼¯ºÏÖб£´æ´óÁ¿µÄ**ÄÇôʹÓÃVectorÓÐһЩÓÅÊÆ£¬ÒòΪÄã¿ÉÒÔͨ¹ýÉèÖü¯ºÏµÄ³õʼ»¯´óСÀ´±ÜÃâ²»±ØÒªµÄ×ÊÔ´¿ªÏú¡£
ʹÓÃģʽ
ÔÚArrayListºÍVectorÖУ¬´ÓÒ»¸öÖ¸¶¨µÄλÖã¨Í¨¹ýË÷Òý£©²éÕÒ**»òÊÇÔÚ¼¯ºÏµÄĩβÔö¼Ó¡¢ÒƳýÒ»¸öÔªËØËù»¨·ÑµÄʱ¼äÊÇÒ»ÑùµÄ£¬Õâ¸öʱ¼äÎÒÃÇÓÃO(1)±íʾ¡£µ«ÊÇ£¬Èç¹ûÔÚ¼¯ºÏµÄÆäËûλÖÃÔö¼Ó»òÒƳýÔªËØÄÇô»¨·ÑµÄʱ¼ä»á³ÊÏßÐÎÔö³¤£ºO(n-i)£¬ÆäÖÐn´ú±í¼¯ºÏÖÐÔªËصĸöÊý£¬i´ú±íÔªËØÔö¼Ó»òÒƳýÔªËصÄË÷ÒýλÖá£ÎªÊ²Ã´»áÕâÑùÄØ£¿ÒÔΪÔÚ½øÐÐÉÏÊö²Ù×÷µÄʱºò¼¯ºÏÖеÚiºÍµÚi¸öÔªËØÖ®ºóµÄËùÓÐÔªËض¼ÒªÖ´ÐÐλÒƵIJÙ×÷¡£ÕâÒ»ÇÐÒâζ×ÅʲôÄØ£¿
ÕâÒâζ×Å£¬ÄãÖ»ÊDzéÕÒÌØ**ÖõÄÔªËØ»òÖ»ÔÚ¼¯ºÏµÄÄ©¶ËÔö¼Ó¡¢ÒƳýÔªËØ£¬ÄÇôʹÓÃVector»òArrayList¶¼¿ÉÒÔ¡£Èç¹ûÊÇÆäËû²Ù×÷£¬Äã×îºÃÑ¡ÔñÆäËûµÄ¼¯ºÏ²Ù×÷Àà¡£±ÈÈ磬LinkList¼¯ºÏÀàÔÚÔö¼Ó»òÒƳý¼¯ºÏÖÐÈκÎλÖõÄÔªËØËù»¨·ÑµÄʱ¼ä¶¼ÊÇÒ»ÑùµÄ?O(1)£¬µ«ËüÔÚË÷ÒýÒ»¸öÔªËصÄʹÓÃȱ±È½ÏÂý£­O(i),ÆäÖÐiÊÇË÷ÒýµÄλÖÃ.ʹÓÃArrayListÒ²ºÜÈÝÒ×£¬ÒòΪÄã¿ÉÒÔ¼òµ¥µÄʹÓÃË÷ÒýÀ´´úÌæ´´½¨iterator¶ÔÏóµÄ²Ù×÷¡£LinkListÒ²»áΪÿ¸ö²åÈëµÄÔªËØ´´½¨¶ÔÏó£¬ËùÓÐÄãÒªÃ÷°×ËüÒ²»á´øÀ´¶îÍâµÄ¿ªÏú¡£
×îºó£¬ÔÚ¡¶PracticalJ**a¡·Ò»ÊéÖÐPeterh**aggar½¨ÒéʹÓÃÒ»¸ö¼òµ¥µÄÊý×飨Array£©À´´úÌæVector»òArrayList¡£ÓÈÆäÊǶÔÓÚÖ´ÐÐЧÂÊÒªÇó¸ßµÄ³ÌÐò¸üÓ¦Èç´Ë¡£ÒòΪʹÓÃÊý×é(Array)±ÜÃâÁËͬ²½¡¢¶îÍâµÄ·½·¨µ÷ÓúͲ»±ØÒªµÄÖØзÖÅä¿Õ¼äµÄ²Ù×÷¡£