锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产成人综合亚洲亚洲国产第一页,亚洲男人的天堂在线va拉文,亚洲人成人无码网www电影首页http://www.tkk7.com/jxhkwhy/category/31095.htmlzh-cnTue, 29 Apr 2008 06:56:00 GMTTue, 29 Apr 2008 06:56:00 GMT60璁捐妯″紡-iterator(榪唬鍣?http://www.tkk7.com/jxhkwhy/articles/197089.html綰擱鏈?/dc:creator>綰擱鏈?/author>Tue, 29 Apr 2008 03:42:00 GMThttp://www.tkk7.com/jxhkwhy/articles/197089.htmlhttp://www.tkk7.com/jxhkwhy/comments/197089.htmlhttp://www.tkk7.com/jxhkwhy/articles/197089.html#Feedback0http://www.tkk7.com/jxhkwhy/comments/commentRss/197089.htmlhttp://www.tkk7.com/jxhkwhy/services/trackbacks/197089.htmlhttp://www.cnblogs.com/singlepine/archive/2005/10/30/265024.html

璁捐妯″紡-iterator(榪唬鍣?

涓銆?寮曡█

銆銆榪唬榪欎釜鍚嶈瘝瀵逛簬鐔熸倝Java鐨勪漢鏉ヨ緇濆涓嶉檶鐢熴傛垜浠父甯鎬嬌鐢↗DK鎻愪緵鐨勮凱浠f帴鍙h繘琛宩ava collection鐨勯亶鍘嗭細

Iterator it = list.iterator();
while(it.hasNext()){
//using “it.next();”do some businesss logic
}
鑰岃繖灝辨槸鍏充簬榪唬鍣ㄦā寮忓簲鐢ㄥ緢濂界殑渚嬪瓙銆?br />
銆銆浜屻?瀹氫箟涓庣粨鏋?/strong>

銆銆榪唬鍣紙Iterator錛夋ā寮忥紝鍙堝彨鍋氭父鏍囷紙Cursor錛夋ā寮忋侴OF緇欏嚭鐨勫畾涔変負錛氭彁渚涗竴縐嶆柟娉曡闂竴涓鍣紙container錛夊璞′腑鍚勪釜鍏冪礌錛岃屽張涓嶉渶鏆撮湶璇ュ璞$殑鍐呴儴緇嗚妭銆?br />
銆銆浠庡畾涔夊彲瑙侊紝榪唬鍣ㄦā寮忔槸涓哄鍣ㄨ岀敓銆傚緢鏄庢樉錛屽瀹瑰櫒瀵硅薄鐨勮闂繀鐒舵秹鍙婂埌閬嶅巻綆楁硶銆備綘鍙互涓鑲¤剳鐨勫皢閬嶅巻鏂規硶濉炲埌瀹瑰櫒瀵硅薄涓幓錛涙垨鑰呮牴鏈笉鍘繪彁渚涗粈涔堥亶鍘嗙畻娉曪紝璁╀嬌鐢ㄥ鍣ㄧ殑浜鴻嚜宸卞幓瀹炵幇鍘誨惂銆傝繖涓ょ鎯呭喌濂藉儚閮借兘澶熻В鍐抽棶棰樸?br />
銆銆鐒惰屽湪鍓嶄竴縐嶆儏鍐碉紝瀹瑰櫒鎵垮彈浜嗚繃澶氱殑鍔熻兘錛屽畠涓嶄粎瑕佽礋璐h嚜宸?#8220;瀹瑰櫒”鍐呯殑鍏冪礌緇存姢錛堟坊鍔犮佸垹闄ょ瓑絳夛級錛岃屼笖榪樿鎻愪緵閬嶅巻鑷韓鐨勬帴鍙o紱鑰屼笖鐢變簬閬嶅巻鐘舵佷繚瀛樼殑闂錛屼笉鑳藉鍚屼竴涓鍣ㄥ璞″悓鏃惰繘琛屽涓亶鍘嗐傜浜岀鏂瑰紡鍊掓槸鐪佷簨錛屽嵈鍙堝皢瀹瑰櫒鐨勫唴閮ㄧ粏鑺傛毚闇叉棤閬椼?br />
銆銆鑰岃凱浠e櫒妯″紡鐨勫嚭鐜幫紝寰堝ソ鐨勮В鍐充簡涓婇潰涓ょ鎯呭喌鐨勫紛绔傚厛鏉ョ湅涓嬭凱浠e櫒妯″紡鐨勭湡闈㈢洰鍚с?

銆銆榪唬鍣ㄦā寮忕敱浠ヤ笅瑙掕壊緇勬垚錛?br />
銆銆1) 榪唬鍣ㄨ鑹詫紙Iterator錛夛細榪唬鍣ㄨ鑹茶礋璐e畾涔夎闂拰閬嶅巻鍏冪礌鐨勬帴鍙c?br />
銆銆2) 鍏蜂綋榪唬鍣ㄨ鑹詫紙Concrete Iterator錛夛細鍏蜂綋榪唬鍣ㄨ鑹茶瀹炵幇榪唬鍣ㄦ帴鍙o紝騫惰璁板綍閬嶅巻涓殑褰撳墠浣嶇疆銆?br />
銆銆3) 瀹瑰櫒瑙掕壊錛圕ontainer錛夛細瀹瑰櫒瑙掕壊璐熻矗鎻愪緵鍒涘緩鍏蜂綋榪唬鍣ㄨ鑹茬殑鎺ュ彛銆?br />
銆銆4) 鍏蜂綋瀹瑰櫒瑙掕壊錛圕oncrete Container錛夛細鍏蜂綋瀹瑰櫒瑙掕壊瀹炵幇鍒涘緩鍏蜂綋榪唬鍣ㄨ鑹茬殑鎺ュ彛鈥斺旇繖涓叿浣撹凱浠e櫒瑙掕壊浜庤瀹瑰櫒鐨勭粨鏋勭浉鍏熾?br />
銆銆榪唬鍣ㄦā寮忕殑綾誨浘濡備笅錛?br />

銆銆浠庣粨鏋勪笂鍙互鐪嬪嚭錛岃凱浠e櫒妯″紡鍦ㄥ鎴蜂笌瀹瑰櫒涔嬮棿鍔犲叆浜嗚凱浠e櫒瑙掕壊銆傝凱浠e櫒瑙掕壊鐨勫姞鍏ワ紝灝卞彲浠ュ緢濂界殑閬垮厤瀹瑰櫒鍐呴儴緇嗚妭鐨勬毚闇詫紝鑰屼笖涔熶嬌寰楄璁$鍙?#8220;鍗曚竴鑱岃矗鍘熷垯”銆?br />
銆銆娉ㄦ剰錛屽湪榪唬鍣ㄦā寮忎腑錛屽叿浣撹凱浠e櫒瑙掕壊鍜屽叿浣撳鍣ㄨ鑹叉槸鑰﹀悎鍦ㄤ竴璧風殑鈥斺旈亶鍘嗙畻娉曟槸涓庡鍣ㄧ殑鍐呴儴緇嗚妭绱у瘑鐩稿叧鐨勩備負浜嗕嬌瀹㈡埛紼嬪簭浠庝笌鍏蜂綋榪唬鍣ㄨ鑹茶﹀悎鐨勫洶澧冧腑鑴辯鍑烘潵錛岄伩鍏嶅叿浣撹凱浠e櫒瑙掕壊鐨勬洿鎹㈢粰瀹㈡埛紼嬪簭甯︽潵鐨勪慨鏀癸紝榪唬鍣ㄦā寮忔娊璞′簡鍏蜂綋榪唬鍣ㄨ鑹詫紝浣垮緱瀹㈡埛紼嬪簭鏇村叿涓鑸у拰閲嶇敤鎬с傝繖琚О涓哄鎬佽凱浠c?br />
銆銆涓夈?涓句緥

銆銆鐢變簬榪唬鍣ㄦā寮忔湰韜殑瑙勫畾姣旇緝鏉炬暎錛屾墍浠ュ叿浣撳疄鐜頒篃灝變簲鑺卞叓闂ㄣ傛垜浠湪姝や粎涓句竴渚嬶紝鏍規湰涓嶈兘灝嗗疄鐜版柟寮忎竴涓鍛堢幇銆傚洜姝ゅ湪涓句緥鍓嶏紝鎴戜滑鍏堟潵鍒椾婦涓嬭凱浠e櫒妯″紡鐨勫疄鐜版柟寮忋?

銆銆1錛庤凱浠e櫒瑙掕壊瀹氫箟浜嗛亶鍘嗙殑鎺ュ彛錛屼絾鏄病鏈夎瀹氱敱璋佹潵鎺у埗榪唬銆傚湪Java collection鐨勫簲鐢ㄤ腑錛屾槸鐢卞鎴風▼搴忔潵鎺у埗閬嶅巻鐨勮繘紼嬶紝琚О涓哄閮ㄨ凱浠e櫒錛涜繕鏈変竴縐嶅疄鐜版柟寮忎究鏄敱榪唬鍣ㄨ嚜韜潵鎺у埗榪唬錛岃縐頒負鍐呴儴榪唬鍣ㄣ傚閮ㄨ凱浠e櫒瑕佹瘮鍐呴儴榪唬鍣ㄧ伒媧匯佸己澶э紝鑰屼笖鍐呴儴榪唬鍣ㄥ湪java璇█鐜涓紝鍙敤鎬у緢寮便?br />
銆銆2錛庡湪榪唬鍣ㄦā寮忎腑娌℃湁瑙勫畾璋佹潵瀹炵幇閬嶅巻綆楁硶銆傚ソ鍍忕悊鎵褰撶劧鐨勮鍦ㄨ凱浠e櫒瑙掕壊涓疄鐜般傚洜涓烘棦渚夸簬涓涓鍣ㄤ笂浣跨敤涓嶅悓鐨勯亶鍘嗙畻娉曪紝涔熶究浜庡皢涓縐嶉亶鍘嗙畻娉曞簲鐢ㄤ簬涓嶅悓鐨勫鍣ㄣ備絾鏄繖鏍峰氨鐮村潖鎺変簡瀹瑰櫒鐨勫皝瑁呪斺斿鍣ㄨ鑹插氨瑕佸叕寮鑷繁鐨勭鏈夊睘鎬э紝鍦╦ava涓究鎰忓懗鐫鍚戝叾浠栫被鍏紑浜嗚嚜宸辯殑縐佹湁灞炴с?br />
銆銆閭f垜浠妸瀹冩斁鍒板鍣ㄨ鑹查噷鏉ュ疄鐜板ソ浜嗐傝繖鏍瘋凱浠e櫒瑙掕壊灝辮鏋剁┖涓轟粎浠呭瓨鏀句竴涓亶鍘嗗綋鍓嶄綅緗殑鍔熻兘銆備絾鏄亶鍘嗙畻娉曚究鍜岀壒瀹氱殑瀹瑰櫒绱х揣緇戝湪涓璧蜂簡銆?br />
銆銆鑰屽湪Java Collection鐨勫簲鐢ㄤ腑錛屾彁渚涚殑鍏蜂綋榪唬鍣ㄨ鑹叉槸瀹氫箟鍦ㄥ鍣ㄨ鑹蹭腑鐨勫唴閮ㄧ被銆傝繖鏍蜂究淇濇姢浜嗗鍣ㄧ殑灝佽銆備絾鏄悓鏃跺鍣ㄤ篃鎻愪緵浜嗛亶鍘嗙畻娉曟帴鍙o紝浣犲彲浠ユ墿灞曡嚜宸辯殑榪唬鍣ㄣ?br />
銆銆濂戒簡錛屾垜浠潵鐪嬩笅Java Collection涓殑榪唬鍣ㄦ槸鎬庝箞瀹炵幇鐨勫惂銆?br />
//榪唬鍣ㄨ鑹詫紝浠呬粎瀹氫箟浜嗛亶鍘嗘帴鍙?/span>

public interface Iterator {
銆boolean hasNext();
銆Object next();
void remove();
}


//瀹瑰櫒瑙掕壊錛岃繖閲屼互List涓轟緥銆傚畠涔熶粎浠呮槸涓涓帴鍙o紝灝變笉緗楀垪鍑烘潵浜?br /> //鍏蜂綋瀹瑰櫒瑙掕壊錛屼究鏄疄鐜頒簡List鎺ュ彛鐨凙rrayList絳夌被銆備負浜嗙獊鍑洪噸鐐硅繖閲屾寚緗楀垪鍜岃凱浠e櫒鐩稿叧鐨勫唴瀹?br /> //鍏蜂綋榪唬鍣ㄨ鑹詫紝瀹冩槸浠ュ唴閮ㄧ被鐨勫艦寮忓嚭鏉ョ殑銆侫bstractList鏄負浜嗗皢鍚勪釜鍏蜂綋瀹瑰櫒瑙掕壊鐨勫叕鍏遍儴鍒嗘彁鍙栧嚭鏉ヨ屽瓨鍦ㄧ殑銆?/span>

public abstract class AbstractList extends AbstractCollection implements List {
…… 
//榪欎釜渚挎槸璐熻矗鍒涘緩鍏蜂綋榪唬鍣ㄨ鑹茬殑宸ュ巶鏂規硶
public Iterator iterator() {
return new Itr();
}


//浣滀負鍐呴儴綾葷殑鍏蜂綋榪唬鍣ㄨ鑹?/span>

private class Itr implements Iterator {
int cursor = 0;
int lastRet = -1;
int expectedModCount = modCount;

public boolean hasNext() {
銆銆
return cursor != size();
銆}


public Object next() {
銆銆checkForComodification();
銆銆
try {
銆銆銆Object next 
= get(cursor);
銆銆銆lastRet 
= cursor++;
銆銆銆
return next;
銆銆}
 catch(IndexOutOfBoundsException e) {
銆銆銆checkForComodification();
銆銆銆
throw new NoSuchElementException();
銆銆}

銆}


public void remove() {
銆銆
if (lastRet == -1)
銆銆銆
throw new IllegalStateException();
銆銆銆checkForComodification();

銆銆
try {
銆銆銆AbstractList.
this.remove(lastRet);
銆銆銆
if (lastRet < cursor)
銆銆銆銆cursor
--;
銆銆銆lastRet 
= -1;
銆銆銆expectedModCount 
= modCount;
銆銆}
 catch(IndexOutOfBoundsException e) {
銆銆銆
throw new ConcurrentModificationException();
銆銆}

銆}


銆final 
void checkForComodification() {
銆銆
if (modCount != expectedModCount)
銆銆銆
throw new ConcurrentModificationException();
銆}

}

鑷充簬榪唬鍣ㄦā寮忕殑浣跨敤銆傛濡傚紩璦涓墍鍒楅偅鏍鳳紝瀹㈡埛紼嬪簭瑕佸厛寰楀埌鍏蜂綋瀹瑰櫒瑙掕壊錛岀劧鍚庡啀閫氳繃鍏蜂綋瀹瑰櫒瑙掕壊寰楀埌鍏蜂綋榪唬鍣ㄨ鑹層傝繖鏍蜂究鍙互浣跨敤鍏蜂綋榪唬鍣ㄨ鑹叉潵閬嶅巻瀹瑰櫒浜?#8230;…

銆銆鍥涖?瀹炵幇鑷繁鐨勮凱浠e櫒

銆銆鍦ㄥ疄鐜拌嚜宸辯殑榪唬鍣ㄧ殑鏃跺欙紝涓鑸鎿嶄綔鐨勫鍣ㄦ湁鏀寔鐨勬帴鍙f墠鍙互銆傝屼笖鎴戜滑榪樿娉ㄦ剰浠ヤ笅闂錛?

銆銆鍦ㄨ凱浠e櫒閬嶅巻鐨勮繃紼嬩腑錛岄氳繃璇ヨ凱浠e櫒榪涜瀹瑰櫒鍏冪礌鐨勫鍑忔搷浣滄槸鍚﹀畨鍏ㄥ憿錛?br />
銆銆鍦ㄥ鍣ㄤ腑瀛樺湪澶嶅悎瀵硅薄鐨勬儏鍐碉紝榪唬鍣ㄦ庢牱鎵嶈兘鏀寔娣卞眰閬嶅巻鍜屽縐嶉亶鍘嗗憿錛?br />
銆銆浠ヤ笂涓や釜闂瀵逛簬涓嶅悓緇撴瀯鐨勫鍣ㄨ鑹詫紝鍚勪笉鐩稿悓錛屽煎緱鑰冭檻銆?br />
銆銆浜斻?閫傜敤鎯呭喌

銆銆鐢變笂闈㈢殑璁茶堪錛屾垜浠彲浠ョ湅鍑鴻凱浠e櫒妯″紡緇欏鍣ㄧ殑搴旂敤甯︽潵浠ヤ笅濂藉錛?br />
銆銆1) 鏀寔浠ヤ笉鍚岀殑鏂瑰紡閬嶅巻涓涓鍣ㄨ鑹層傛牴鎹疄鐜版柟寮忕殑涓嶅悓錛屾晥鏋滀笂浼氭湁宸埆銆?br />
銆銆2) 綆鍖栦簡瀹瑰櫒鐨勬帴鍙c備絾鏄湪java Collection涓負浜嗘彁楂樺彲鎵╁睍鎬э紝瀹瑰櫒榪樻槸鎻愪緵浜嗛亶鍘嗙殑鎺ュ彛銆?br />
銆銆3) 瀵瑰悓涓涓鍣ㄥ璞★紝鍙互鍚屾椂榪涜澶氫釜閬嶅巻銆傚洜涓洪亶鍘嗙姸鎬佹槸淇濆瓨鍦ㄦ瘡涓涓凱浠e櫒瀵硅薄涓殑銆?br />
銆銆鐢辨涔熻兘寰楀嚭榪唬鍣ㄦā寮忕殑閫傜敤鑼冨洿錛?br />
銆銆1) 璁塊棶涓涓鍣ㄥ璞$殑鍐呭鑰屾棤闇鏆撮湶瀹冪殑鍐呴儴琛ㄧず銆?br />
銆銆2) 鏀寔瀵瑰鍣ㄥ璞$殑澶氱閬嶅巻銆?br />
銆銆3) 涓洪亶鍘嗕笉鍚岀殑瀹瑰櫒緇撴瀯鎻愪緵涓涓粺涓鐨勬帴鍙o紙澶氭佽凱浠o級銆?br />
銆銆鍏?鎬葷粨

銆銆榪唬鍣ㄦā寮忓湪鎴戜滑鐨勫簲鐢ㄤ腑寰堝箍娉涳紝甯屾湜鏈枃鑳藉府鍔╀綘鐞嗚В瀹冦傚鏈変笉瀵逛箣澶勶紝榪樿涓嶅悵鎸囨銆?


]]>
主站蜘蛛池模板: 国产亚洲真人做受在线观看| 亚洲国产精品嫩草影院久久| 久久精品国产亚洲| 成人精品综合免费视频| 四虎永久精品免费观看| 国产精品亚洲а∨无码播放不卡| 成年人视频在线观看免费| 亚洲www77777| 国产免费观看青青草原网站| 亚洲AV综合色区无码一二三区| 免费无码黄动漫在线观看| 亚洲av无码无线在线观看| 国产精品免费小视频| 久久亚洲欧美国产精品| 亚洲精品成人久久久| 国产日韩久久免费影院| 亚洲av福利无码无一区二区 | 亚洲综合小说另类图片动图| 久久精品免费一区二区喷潮| 亚洲欧美自偷自拍另类视| 男人的天堂亚洲一区二区三区| 亚洲色偷偷综合亚洲av78 | 亚洲精品视频免费观看| 亚洲AV无码欧洲AV无码网站| 18禁黄网站禁片免费观看不卡| 亚洲男人天堂2022| 亚洲JIZZJIZZ中国少妇中文| 中国国语毛片免费观看视频| 亚洲资源在线观看| 成人人观看的免费毛片| 一级特黄a免费大片| 亚洲综合国产精品| 国产精品无码一二区免费| 在线观看免费无码视频| 亚洲精品国产福利片| 成在线人永久免费视频播放| 丝瓜app免费下载网址进入ios| 亚洲国产成人91精品| 亚洲人成网站在线观看青青| 9420免费高清在线视频| 国产精品亚洲一区二区三区在线观看 |